Zelda Classic Coverage Report


Directory: src/
File: src/subscr.cpp
Date: 2023-04-14 05:35:34
Exec Total Coverage
Lines: 1234 2135 57.8%
Functions: 40 51 78.4%
Branches: 961 1825 52.7%

Line Branch Exec Source
1 //--------------------------------------------------------
2 // Zelda Classic
3 // by Jeremy Craner, 1999-2000
4 //
5 // subscr.cc
6 //
7 // Subscreen code for zelda.cc
8 //
9 //--------------------------------------------------------
10
11 #include "precompiled.h" //always first
12
13 #include "subscr.h"
14 #include "base/zapp.h"
15 #include "zelda.h"
16 #include "tiles.h"
17
1/2
✓ Branch 0 taken 31 times.
✗ Branch 1 not taken.
31 #include "base/zsys.h"
18 #include "guys.h"
19 #include "hero.h"
20 #include "gamedata.h"
21 #include "items.h"
22 #include <stdio.h>
23 #include <string.h>
24 #include "ffscript.h"
25
26 bool show_subscreen_dmap_dots=true;
27 bool show_subscreen_numbers=true;
28 bool show_subscreen_items=true;
29 bool show_subscreen_life=true;
30 bool new_sel=false;
31
32 extern sprite_list guys, items, Ewpns, Lwpns, Sitems, chainlinks, decorations;
33 extern HeroClass Hero;
34 extern FFScript FFCore;
35
36 subscreen_group *current_subscreen_active;
37 subscreen_group *current_subscreen_passive;
38
39 subscreen_group custom_subscreen[MAXCUSTOMSUBSCREENS];
40
41 static const int32_t notscrolling = sspUP | sspDOWN;
42 static const int32_t pos = notscrolling | sspSCROLLING;
43
44 subscreen_object z3_active_a[80]=
45 {
46 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
47 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
48 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
49 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
50 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
51 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
52 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
53 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
54 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
55 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
56 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
57 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
58 { ssoCURRENTITEM, pos, 176, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_sword, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
59 { ssoCURRENTITEM, pos, 200, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
60 { ssoCURRENTITEM, pos, 224, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
61 { ssoCURRENTITEM, pos, 200, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
62 { ssoCURRENTITEM, pos, 28, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
63 { ssoCURRENTITEM, pos, 52, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
64 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
65 { ssoCURRENTITEM, pos, 100, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
66 { ssoCURRENTITEM, pos, 124, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
67 { ssoCURRENTITEM, pos, 28, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
68 { ssoCURRENTITEM, pos, 52, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
69 { ssoCURRENTITEM, pos, 76, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
70 { ssoCURRENTITEM, pos, 100, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
71 { ssoCURRENTITEM, pos, 124, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_quiver, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
72 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
73 { ssoCURRENTITEM, pos, 32, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bowandarrow, 1, 0, 10, 5, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
74 { ssoCOUNTER, pos, 44, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
75 { ssoCURRENTITEM, pos, 56, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 1, 11, 6, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
76 { ssoCURRENTITEM, pos, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 2, 12, 7, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
77 { ssoCURRENTITEM, pos, 104, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 3, 13, 8, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
78 { ssoCOUNTER, pos, 116, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
79 { ssoCURRENTITEM, pos, 128, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 4, 14, 9, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
80 { ssoCURRENTITEM, pos, 32, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 5, 0, 10, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
81 { ssoCURRENTITEM, pos, 56, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 6, 1, 11, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
82 { ssoCOUNTER, pos, 68, 50, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
83 { ssoCURRENTITEM, pos, 80, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 7, 2, 12, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
84 { ssoCURRENTITEM, pos, 104, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 8, 3, 13, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
85 { ssoCURRENTITEM, pos, 128, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 9, 4, 14, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
86 { ssoCURRENTITEM, pos, 32, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 10, 5, 0, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
87 { ssoCURRENTITEM, pos, 56, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 6, 1, 10, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
88 { ssoCURRENTITEM, pos, 80, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 12, 7, 2, 11, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
89 { ssoCURRENTITEM, pos, 104, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 13, 8, 3, 12, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
90 { ssoCURRENTITEM, pos, 128, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 14, 9, 4, 13, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
91 { ssoLINE, pos, 177, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
92 { ssoLINE, pos, 181, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
93 { ssoLINE, pos, 185, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
94 { ssoLINE, pos, 189, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
95 { ssoLINE, pos, 193, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
96 { ssoLINE, pos, 197, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
97 { ssoLINE, pos, 201, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
98 { ssoLINE, pos, 205, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
99 { ssoLINE, pos, 209, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
100 { ssoLINE, pos, 213, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
101 { ssoLINE, pos, 217, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
102 { ssoLINE, pos, 221, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
103 { ssoLINE, pos, 225, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
104 { ssoLINE, pos, 229, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
105 { ssoLINE, pos, 233, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
106 { ssoLINE, pos, 237, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
107 { ssoBUTTONITEM, pos, 200, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
108 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
109 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
110 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
111 { ssoSELECTEDITEMNAME, pos, 173, 24, 70, 16, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfPROP, sstaCENTER, sstsSHADOWED, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
112 { ssoRECT, pos, 24, 1, 16, 6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
113 { ssoTEXT, pos, 24, 1, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"ITEM" },
114 { ssoTEXT, pos, 17, 105, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"INVENTORY" },
115 { ssoTEXT, pos, 177, 57, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"TRIFORCE" },
116 { ssoTEXT, pos, 177, 113, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"EQUIPMENT" },
117 { ssoTRIFORCE, pos, 192, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
118 { ssoTRIFORCE, pos, 208, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
119 { ssoTRIFORCE, pos, 176, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
120 { ssoTRIFORCE, pos, 224, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
121 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 2, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
122 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
123 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 3, 1, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
124 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
125 { ssoTILEBLOCK, pos, 16, 8, 1, 1, 1, 0, 0, 0, 0, 0, 28201, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
126 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
127 };
128 subscreen_object z3_active_ab[82]=
129 {
130 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
131 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
132 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
133 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
134 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
135 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
136 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
137 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
138 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
139 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
140 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
141 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
142 { ssoCURRENTITEM, pos, 176, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_sword, 1, 15, 14, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
143 { ssoCURRENTITEM, pos, 200, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
144 { ssoCURRENTITEM, pos, 224, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
145 { ssoCURRENTITEM, pos, 200, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
146 { ssoCURRENTITEM, pos, 28, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
147 { ssoCURRENTITEM, pos, 52, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
148 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
149 { ssoCURRENTITEM, pos, 100, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
150 { ssoCURRENTITEM, pos, 124, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
151 { ssoCURRENTITEM, pos, 28, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
152 { ssoCURRENTITEM, pos, 52, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
153 { ssoCURRENTITEM, pos, 76, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
154 { ssoCURRENTITEM, pos, 100, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
155 { ssoCURRENTITEM, pos, 124, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_quiver, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
156 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
157 { ssoCURRENTITEM, pos, 32, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bowandarrow, 1, 0, 10, 5, 15, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
158 { ssoCOUNTER, pos, 44, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
159 { ssoCURRENTITEM, pos, 56, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 1, 11, 6, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
160 { ssoCURRENTITEM, pos, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 2, 12, 7, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
161 { ssoCURRENTITEM, pos, 104, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 3, 13, 8, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
162 { ssoCOUNTER, pos, 116, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
163 { ssoCURRENTITEM, pos, 128, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 4, 14, 9, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
164 { ssoCURRENTITEM, pos, 32, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 5, 0, 10, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
165 { ssoCURRENTITEM, pos, 56, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 6, 1, 11, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
166 { ssoCOUNTER, pos, 68, 50, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
167 { ssoCURRENTITEM, pos, 80, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 7, 2, 12, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
168 { ssoCURRENTITEM, pos, 104, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 8, 3, 13, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
169 { ssoCURRENTITEM, pos, 128, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 9, 4, 14, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
170 { ssoCURRENTITEM, pos, 32, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 10, 5, 0, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
171 { ssoCURRENTITEM, pos, 56, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 6, 1, 10, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
172 { ssoCURRENTITEM, pos, 80, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 12, 7, 2, 11, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
173 { ssoCURRENTITEM, pos, 104, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 13, 8, 3, 12, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
174 { ssoCURRENTITEM, pos, 128, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 14, 9, 4, 13, 15, 0, 0, 0, 0, 0, 0, 0, NULL },
175 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
176 { ssoLINE, pos, 177, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
177 { ssoLINE, pos, 181, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
178 { ssoLINE, pos, 185, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
179 { ssoLINE, pos, 189, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
180 { ssoLINE, pos, 193, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
181 { ssoLINE, pos, 197, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
182 { ssoLINE, pos, 201, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
183 { ssoLINE, pos, 205, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
184 { ssoLINE, pos, 209, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
185 { ssoLINE, pos, 213, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
186 { ssoLINE, pos, 217, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
187 { ssoLINE, pos, 221, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
188 { ssoLINE, pos, 225, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
189 { ssoLINE, pos, 229, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
190 { ssoLINE, pos, 233, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
191 { ssoLINE, pos, 237, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
192 { ssoBUTTONITEM, pos, 200, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
193 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
194 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
195 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
196 { ssoSELECTEDITEMNAME, pos, 173, 24, 70, 16, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfPROP, sstaCENTER, sstsSHADOWED, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
197 { ssoRECT, pos, 24, 1, 16, 6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
198 { ssoTEXT, pos, 24, 1, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"ITEM" },
199 { ssoTILEBLOCK, pos, 16, 73, 1, 1, 1, 0, 0, 0, 0, 0, 28201, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
200 { ssoTEXT, pos, 17, 105, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"INVENTORY" },
201 { ssoTEXT, pos, 177, 57, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"TRIFORCE" },
202 { ssoTEXT, pos, 177, 113, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"EQUIPMENT" },
203 { ssoTRIFORCE, pos, 192, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
204 { ssoTRIFORCE, pos, 208, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
205 { ssoTRIFORCE, pos, 176, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
206 { ssoTRIFORCE, pos, 224, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
207 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 2, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
208 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
209 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 3, 1, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
210 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
211 { ssoTILEBLOCK, pos, 16, 8, 1, 1, 1, 0, 0, 0, 0, 0, 28200, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
212 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
213 };
214 subscreen_object z3_passive_a[66]=
215 {
216 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
217 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
218 { ssoMINITILE, pos, 74, 6, 0, 0, 5, 0, 0, 0, 0, 0, 101069, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
219 { ssoMINITILE, pos, 101, 6, 0, 0, 0, 0, 0, 0, 0, 0, 101369, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
220 { ssoMINITILE, pos, 126, 7, 0, 0, 1, 0, 0, 0, 0, 0, 101683, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
221 { ssoMINITILE, pos, 144, 6, 0, 0, 1, 0, 0, 0, 0, 0, 101212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
222 { ssoMAGICGAUGE, pos, 16, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
223 { ssoMAGICGAUGE, pos, 16, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
224 { ssoMAGICGAUGE, pos, 16, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
225 { ssoMAGICGAUGE, pos, 16, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
226 { ssoMAGICGAUGE, pos, 16, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
227 { ssoMAGICGAUGE, pos, 16, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
228 { ssoMAGICGAUGE, pos, 16, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
229 { ssoMAGICGAUGE, pos, 16, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
230 { ssoMAGICGAUGE, pos, 16, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
231 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100322, 100260, 100322, 100322, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
232 { ssoMAGICGAUGE, pos, 24, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
233 { ssoMAGICGAUGE, pos, 24, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
234 { ssoMAGICGAUGE, pos, 24, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
235 { ssoMAGICGAUGE, pos, 24, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
236 { ssoMAGICGAUGE, pos, 24, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
237 { ssoMAGICGAUGE, pos, 24, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
238 { ssoMAGICGAUGE, pos, 24, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
239 { ssoMAGICGAUGE, pos, 24, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
240 { ssoMAGICGAUGE, pos, 24, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
241 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100323, 100260, 100262, 100263, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
242 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100402, 100260, 100322, 100322, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
243 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100403, 100260, 100262, 100263, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
244 { sso2X2FRAME, pos, 32, 4, 4, 4, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
245 { ssoBUTTONITEM, pos, 40, 12, 16, 16, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
246 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
247 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
248 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
249 { ssoTEXT, pos, 200, 6, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"LIFE" },
250 { ssoRECT, pos, 178, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
251 { ssoLINE, pos, 179, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
252 { ssoRECT, pos, 210, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
253 { ssoLINE, pos, 211, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
254 { ssoLIFEGAUGE, pos, 169, 15, 8, 8, 1, 1, 1, 1, 0, 0, 1, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
255 { ssoLIFEGAUGE, pos, 177, 15, 8, 8, 1, 1, 1, 1, 0, 0, 2, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
256 { ssoLIFEGAUGE, pos, 185, 15, 8, 8, 1, 1, 1, 1, 0, 0, 3, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
257 { ssoLIFEGAUGE, pos, 193, 15, 8, 8, 1, 1, 1, 1, 0, 0, 4, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
258 { ssoLIFEGAUGE, pos, 201, 15, 8, 8, 1, 1, 1, 1, 0, 0, 5, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
259 { ssoLIFEGAUGE, pos, 209, 15, 8, 8, 1, 1, 1, 1, 0, 0, 6, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
260 { ssoLIFEGAUGE, pos, 217, 15, 8, 8, 1, 1, 1, 1, 0, 0, 7, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
261 { ssoLIFEGAUGE, pos, 225, 15, 8, 8, 1, 1, 1, 1, 0, 0, 8, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
262 { ssoLIFEGAUGE, pos, 169, 23, 8, 8, 1, 1, 1, 1, 0, 0, 9, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
263 { ssoLIFEGAUGE, pos, 177, 23, 8, 8, 1, 1, 1, 1, 0, 0, 10, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
264 { ssoLIFEGAUGE, pos, 185, 23, 8, 8, 1, 1, 1, 1, 0, 0, 11, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
265 { ssoLIFEGAUGE, pos, 193, 23, 8, 8, 1, 1, 1, 1, 0, 0, 12, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
266 { ssoLIFEGAUGE, pos, 201, 23, 8, 8, 1, 1, 1, 1, 0, 0, 13, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
267 { ssoLIFEGAUGE, pos, 209, 23, 8, 8, 1, 1, 1, 1, 0, 0, 14, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
268 { ssoLIFEGAUGE, pos, 217, 23, 8, 8, 1, 1, 1, 1, 0, 0, 15, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
269 { ssoLIFEGAUGE, pos, 225, 23, 8, 8, 1, 1, 1, 1, 0, 0, 16, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
270 { ssoLIFEGAUGE, pos, 169, 31, 8, 8, 1, 1, 1, 1, 0, 0, 17, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
271 { ssoLIFEGAUGE, pos, 177, 31, 8, 8, 1, 1, 1, 1, 0, 0, 18, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
272 { ssoLIFEGAUGE, pos, 185, 31, 8, 8, 1, 1, 1, 1, 0, 0, 19, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
273 { ssoLIFEGAUGE, pos, 193, 31, 8, 8, 1, 1, 1, 1, 0, 0, 20, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
274 { ssoLIFEGAUGE, pos, 201, 31, 8, 8, 1, 1, 1, 1, 0, 0, 21, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
275 { ssoLIFEGAUGE, pos, 209, 31, 8, 8, 1, 1, 1, 1, 0, 0, 22, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
276 { ssoLIFEGAUGE, pos, 217, 31, 8, 8, 1, 1, 1, 1, 0, 0, 23, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
277 { ssoLIFEGAUGE, pos, 225, 31, 8, 8, 1, 1, 1, 1, 0, 0, 24, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
278 { ssoCOUNTER, pos, 77, 15, 25, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 3, '~', 1, sscRUPEES, 0, 0, 0, 0, 0, 0, 0, NULL },
279 { ssoCOUNTER, pos, 105, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
280 { ssoCOUNTER, pos, 129, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
281 { ssoCOUNTER, pos, 148, 15, 9, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 1, '~', 1, sscGENKEYMAGIC, 0, 0, 0, 0, 0, 0, 0, NULL },
282 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
283 };
284 subscreen_object z3_passive_ab[75]=
285 {
286 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
287 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
288 { ssoMINITILE, pos, 80, 6, 0, 0, 5, 0, 0, 0, 0, 0, 101069, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
289 { ssoMINITILE, pos, 107, 6, 0, 0, 0, 0, 0, 0, 0, 0, 101369, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
290 { ssoMINITILE, pos, 132, 7, 0, 0, 1, 0, 0, 0, 0, 0, 101683, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
291 { ssoMINITILE, pos, 150, 6, 0, 0, 1, 0, 0, 0, 0, 0, 101212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
292 { ssoMAGICGAUGE, pos, 16, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
293 { ssoMAGICGAUGE, pos, 16, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
294 { ssoMAGICGAUGE, pos, 16, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
295 { ssoMAGICGAUGE, pos, 16, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
296 { ssoMAGICGAUGE, pos, 16, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
297 { ssoMAGICGAUGE, pos, 16, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
298 { ssoMAGICGAUGE, pos, 16, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
299 { ssoMAGICGAUGE, pos, 16, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
300 { ssoMAGICGAUGE, pos, 16, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
301 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100322, 100260, 100322, 100322, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
302 { ssoMAGICGAUGE, pos, 24, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
303 { ssoMAGICGAUGE, pos, 24, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
304 { ssoMAGICGAUGE, pos, 24, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
305 { ssoMAGICGAUGE, pos, 24, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
306 { ssoMAGICGAUGE, pos, 24, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
307 { ssoMAGICGAUGE, pos, 24, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
308 { ssoMAGICGAUGE, pos, 24, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
309 { ssoMAGICGAUGE, pos, 24, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
310 { ssoMAGICGAUGE, pos, 24, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
311 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100323, 100260, 100262, 100263, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
312 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100402, 100260, 100322, 100322, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
313 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100403, 100260, 100262, 100263, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
314 { sso2X2FRAME, pos, 32, 26, 4, 4, 8, 0, 0, 0, 0, 0, 20040, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
315 { sso2X2FRAME, pos, 32, 0, 4, 4, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
316 { ssoBUTTONITEM, pos, 40, 8, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
317 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
318 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
319 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
320 { ssoBUTTONITEM, pos, 40, 34, 16, 16, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
321 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
322 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
323 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
324 { ssoTEXT, pos, 200, 6, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"LIFE" },
325 { ssoRECT, pos, 178, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
326 { ssoLINE, pos, 179, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
327 { ssoRECT, pos, 210, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
328 { ssoLINE, pos, 211, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
329 { ssoLIFEGAUGE, pos, 169, 15, 8, 8, 1, 1, 1, 1, 0, 0, 1, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
330 { ssoLIFEGAUGE, pos, 177, 15, 8, 8, 1, 1, 1, 1, 0, 0, 2, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
331 { ssoLIFEGAUGE, pos, 185, 15, 8, 8, 1, 1, 1, 1, 0, 0, 3, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
332 { ssoLIFEGAUGE, pos, 193, 15, 8, 8, 1, 1, 1, 1, 0, 0, 4, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
333 { ssoLIFEGAUGE, pos, 201, 15, 8, 8, 1, 1, 1, 1, 0, 0, 5, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
334 { ssoLIFEGAUGE, pos, 209, 15, 8, 8, 1, 1, 1, 1, 0, 0, 6, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
335 { ssoLIFEGAUGE, pos, 217, 15, 8, 8, 1, 1, 1, 1, 0, 0, 7, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
336 { ssoLIFEGAUGE, pos, 225, 15, 8, 8, 1, 1, 1, 1, 0, 0, 8, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
337 { ssoLIFEGAUGE, pos, 169, 23, 8, 8, 1, 1, 1, 1, 0, 0, 9, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
338 { ssoLIFEGAUGE, pos, 177, 23, 8, 8, 1, 1, 1, 1, 0, 0, 10, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
339 { ssoLIFEGAUGE, pos, 185, 23, 8, 8, 1, 1, 1, 1, 0, 0, 11, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
340 { ssoLIFEGAUGE, pos, 193, 23, 8, 8, 1, 1, 1, 1, 0, 0, 12, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
341 { ssoLIFEGAUGE, pos, 201, 23, 8, 8, 1, 1, 1, 1, 0, 0, 13, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
342 { ssoLIFEGAUGE, pos, 209, 23, 8, 8, 1, 1, 1, 1, 0, 0, 14, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
343 { ssoLIFEGAUGE, pos, 217, 23, 8, 8, 1, 1, 1, 1, 0, 0, 15, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
344 { ssoLIFEGAUGE, pos, 225, 23, 8, 8, 1, 1, 1, 1, 0, 0, 16, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
345 { ssoLIFEGAUGE, pos, 169, 31, 8, 8, 1, 1, 1, 1, 0, 0, 17, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
346 { ssoLIFEGAUGE, pos, 177, 31, 8, 8, 1, 1, 1, 1, 0, 0, 18, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
347 { ssoLIFEGAUGE, pos, 185, 31, 8, 8, 1, 1, 1, 1, 0, 0, 19, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
348 { ssoLIFEGAUGE, pos, 193, 31, 8, 8, 1, 1, 1, 1, 0, 0, 20, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
349 { ssoLIFEGAUGE, pos, 201, 31, 8, 8, 1, 1, 1, 1, 0, 0, 21, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
350 { ssoLIFEGAUGE, pos, 209, 31, 8, 8, 1, 1, 1, 1, 0, 0, 22, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
351 { ssoLIFEGAUGE, pos, 217, 31, 8, 8, 1, 1, 1, 1, 0, 0, 23, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
352 { ssoLIFEGAUGE, pos, 225, 31, 8, 8, 1, 1, 1, 1, 0, 0, 24, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
353 { ssoCOUNTER, pos, 83, 15, 25, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 3, '~', 1, sscRUPEES, 0, 0, 0, 0, 0, 0, 0, NULL },
354 { ssoCOUNTER, pos, 111, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
355 { ssoCOUNTER, pos, 135, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
356 { ssoCOUNTER, pos, 154, 15, 9, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 1, '~', 1, sscGENKEYMAGIC, 0, 0, 0, 0, 0, 0, 0, NULL },
357 { ssoRECT, pos, 59, 11, 4, 10, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
358 { ssoRECT, pos, 59, 37, 4, 10, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
359 { ssoTEXT, pos, 61, 13, 8, 8, 0, 1, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"A" },
360 { ssoTEXT, pos, 61, 38, 8, 8, 0, 1, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"B" },
361 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
362 };
363
364 subscreen_object default_subscreen_active[ssdtMAX][2][66]=//[zinit.subscreen][dungeon]
365 {
366 {
367 //ssdtOLD
368 {
369 //ssdtOLD, overworld
370 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
371 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
372 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
373 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
374 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
375 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
376 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
377 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
378 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
379 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
380 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
381 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
382 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
383 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
384 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
385 { sso2X2FRAME, pos, 56, 34, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
386 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
387 { ssoTEXT, pos, 64, 66, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "USE B BUTTON" },
388 { ssoTEXT, pos, 64, 74, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "FOR THIS" },
389 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
390 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
391 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
392 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
393 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
394 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
395 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
396 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
397 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
398 { sso2X2FRAME, pos, 120, 34, 13, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
399 { ssoBUTTONITEM, notscrolling, 64, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
400 { ssoCURRENTITEM, notscrolling, 128, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
401 { ssoCURRENTITEM, notscrolling, 148, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
402 { ssoCURRENTITEM, notscrolling, 160, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
403 { ssoCURRENTITEM, notscrolling, 176, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
404 { ssoCURRENTITEM, notscrolling, 192, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
405 { ssoCURRENTITEM, notscrolling, 204, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
406 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
407 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
408 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
409 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
410 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
411 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
412 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
413 { ssoCURRENTITEM, notscrolling, 172, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
414 { ssoCURRENTITEM, notscrolling, 180, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
415 { ssoCURRENTITEM, notscrolling, 128, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
416 { ssoCURRENTITEM, notscrolling, 152, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
417 { ssoCURRENTITEM, notscrolling, 176, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
418 { ssoCURRENTITEM, notscrolling, 200, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
419 { ssoCURRENTITEM, notscrolling, 128, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
420 { ssoCURRENTITEM, notscrolling, 152, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
421 { ssoCURRENTITEM, notscrolling, 176, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
422 { ssoCURRENTITEM, notscrolling, 200, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
423 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
424 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
425 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
426 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
427 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
428 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
429 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
430 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
431 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
432 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
433 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
434 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
435 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
436 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
437 },
438 {
439 //ssdtOLD, dungeon
440 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
441 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
442 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
443 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
444 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
445 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
446 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
447 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
448 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
449 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
450 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
451 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
452 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
453 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
454 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
455 { sso2X2FRAME, pos, 56, 34, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
456 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
457 { ssoTEXT, pos, 64, 66, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "USE B BUTTON" },
458 { ssoTEXT, pos, 64, 74, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "FOR THIS" },
459 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
460 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
461 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
462 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
463 { ssoTEXT, pos, 52, 90, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "MAP" },
464 { ssoTEXT, pos, 52, 130, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "COMPASS" },
465 { ssoCURRENTITEM, notscrolling, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
466 { ssoCURRENTITEM, notscrolling, 44, 146, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
467 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
468 { sso2X2FRAME, pos, 120, 34, 13, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
469 { ssoBUTTONITEM, notscrolling, 64, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
470 { ssoCURRENTITEM, notscrolling, 128, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
471 { ssoCURRENTITEM, notscrolling, 148, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
472 { ssoCURRENTITEM, notscrolling, 160, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
473 { ssoCURRENTITEM, notscrolling, 176, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
474 { ssoCURRENTITEM, notscrolling, 192, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
475 { ssoCURRENTITEM, notscrolling, 204, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
476 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
477 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
478 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
479 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
480 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
481 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
482 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
483 { ssoCURRENTITEM, notscrolling, 172, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
484 { ssoCURRENTITEM, notscrolling, 180, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
485 { ssoCURRENTITEM, notscrolling, 128, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
486 { ssoCURRENTITEM, notscrolling, 152, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
487 { ssoCURRENTITEM, notscrolling, 176, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
488 { ssoCURRENTITEM, notscrolling, 200, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
489 { ssoCURRENTITEM, notscrolling, 128, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
490 { ssoCURRENTITEM, notscrolling, 152, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
491 { ssoCURRENTITEM, notscrolling, 176, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
492 { ssoCURRENTITEM, notscrolling, 200, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
493 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
494 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
495 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
496 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
497 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
498 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
499 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
500 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
501 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
502 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
503 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
504 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
505 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
506 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
507 }
508 },
509 {
510 //ssdtNEWSUBSCR
511 {
512 //ssdtNEWSUBSCR, overworld
513 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
514 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
515 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
516 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
517 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
518 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
519 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
520 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
521 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
522 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
523 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
524 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
525 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
526 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
527 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
528 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
529 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
530 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
531 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
532 { sso2X2FRAME, pos, 12, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
533 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
534 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
535 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
536 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
537 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
538 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
539 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
540 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
541 { sso2X2FRAME, pos, 136, 18, 13, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
542 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
543 { ssoCURRENTITEM, pos, 20, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
544 { ssoCURRENTITEM, pos, 36, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
545 { ssoCURRENTITEM, pos, 52, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
546 { ssoCURRENTITEM, pos, 68, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
547 { ssoCURRENTITEM, pos, 84, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
548 { ssoCURRENTITEM, pos, 100, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
549 { ssoCURRENTITEM, pos, 20, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
550 { ssoCURRENTITEM, pos, 36, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
551 { ssoCURRENTITEM, pos, 52, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
552 { ssoCURRENTITEM, pos, 68, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
553 { ssoCURRENTITEM, pos, 84, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
554 { ssoCURRENTITEM, pos, 100, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
555 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
556 { ssoCURRENTITEM, pos, 188, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
557 { ssoCURRENTITEM, pos, 196, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
558 { ssoCURRENTITEM, pos, 144, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
559 { ssoCURRENTITEM, pos, 168, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
560 { ssoCURRENTITEM, pos, 192, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
561 { ssoCURRENTITEM, pos, 216, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
562 { ssoCURRENTITEM, pos, 144, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
563 { ssoCURRENTITEM, pos, 168, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
564 { ssoCURRENTITEM, pos, 192, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
565 { ssoCURRENTITEM, pos, 216, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
566 { ssoCURRENTITEM, pos, 144, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
567 { ssoCURRENTITEM, pos, 168, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
568 { ssoCURRENTITEM, pos, 192, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
569 { ssoCURRENTITEM, pos, 216, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
570 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
571 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
572 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
573 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
574 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
575 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
576 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
577 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
578 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
579 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
580 },
581 {
582 //ssdtNEWSUBSCR, dungeon
583 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
584 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
585 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
586 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
587 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
588 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
589 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
590 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
591 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
592 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
593 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
594 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
595 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
596 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
597 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
598 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
599 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
600 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
601 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
602 { sso2X2FRAME, pos, 12, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
603 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
604 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
605 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
606 { ssoTEXT, pos, 52, 90, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "MAP" },
607 { ssoTEXT, pos, 52, 130, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "COMPASS" },
608 { ssoCURRENTITEM, pos, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
609 { ssoCURRENTITEM, pos, 44, 146, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
610 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
611 { sso2X2FRAME, pos, 136, 18, 13, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
612 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
613 { ssoCURRENTITEM, pos, 20, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
614 { ssoCURRENTITEM, pos, 36, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
615 { ssoCURRENTITEM, pos, 52, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
616 { ssoCURRENTITEM, pos, 68, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
617 { ssoCURRENTITEM, pos, 84, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
618 { ssoCURRENTITEM, pos, 100, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
619 { ssoCURRENTITEM, pos, 20, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
620 { ssoCURRENTITEM, pos, 36, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
621 { ssoCURRENTITEM, pos, 52, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
622 { ssoCURRENTITEM, pos, 68, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
623 { ssoCURRENTITEM, pos, 84, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
624 { ssoCURRENTITEM, pos, 100, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
625 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
626 { ssoCURRENTITEM, pos, 188, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
627 { ssoCURRENTITEM, pos, 196, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
628 { ssoCURRENTITEM, pos, 144, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
629 { ssoCURRENTITEM, pos, 168, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
630 { ssoCURRENTITEM, pos, 192, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
631 { ssoCURRENTITEM, pos, 216, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
632 { ssoCURRENTITEM, pos, 144, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
633 { ssoCURRENTITEM, pos, 168, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
634 { ssoCURRENTITEM, pos, 192, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
635 { ssoCURRENTITEM, pos, 216, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
636 { ssoCURRENTITEM, pos, 144, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
637 { ssoCURRENTITEM, pos, 168, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
638 { ssoCURRENTITEM, pos, 192, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
639 { ssoCURRENTITEM, pos, 216, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
640 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
641 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
642 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
643 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
644 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
645 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
646 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
647 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
648 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
649 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
650 }
651 },
652 {
653 //ssdtREV2
654 {
655 //ssdtREV2, overworld
656 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
657 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
658 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
659 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
660 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
661 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
662 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
663 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
664 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
665 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
666 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
667 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
668 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
669 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
670 { ssoTEXT, pos, 62, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
671 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
672 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
673 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
674 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
675 { sso2X2FRAME, pos, 6, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
676 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
677 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
678 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
679 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
680 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
681 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
682 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
683 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
684 { sso2X2FRAME, pos, 118, 18, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
685 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
686 { ssoCURRENTITEM, pos, 14, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
687 { ssoCURRENTITEM, pos, 30, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
688 { ssoCURRENTITEM, pos, 46, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
689 { ssoCURRENTITEM, pos, 62, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
690 { ssoCURRENTITEM, pos, 78, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
691 { ssoCURRENTITEM, pos, 94, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
692 { ssoCURRENTITEM, pos, 14, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
693 { ssoCURRENTITEM, pos, 30, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
694 { ssoCURRENTITEM, pos, 46, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
695 { ssoCURRENTITEM, pos, 62, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
696 { ssoCURRENTITEM, pos, 78, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
697 { ssoCURRENTITEM, pos, 94, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
698 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
699 { ssoCURRENTITEM, pos, 170, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
700 { ssoCURRENTITEM, pos, 178, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
701 { ssoCURRENTITEM, pos, 126, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
702 { ssoCURRENTITEM, pos, 150, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
703 { ssoCURRENTITEM, pos, 174, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
704 { ssoCURRENTITEM, pos, 198, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
705 { ssoCURRENTITEM, pos, 222, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
706 { ssoCURRENTITEM, pos, 126, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
707 { ssoCURRENTITEM, pos, 150, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
708 { ssoCURRENTITEM, pos, 174, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
709 { ssoCURRENTITEM, pos, 198, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
710 { ssoCURRENTITEM, pos, 222, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
711 { ssoCURRENTITEM, pos, 126, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
712 { ssoCURRENTITEM, pos, 150, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
713 { ssoCURRENTITEM, pos, 174, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
714 { ssoCURRENTITEM, pos, 198, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
715 { ssoCURRENTITEM, pos, 222, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
716 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
717 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
718 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
719 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
720 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
721 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
722 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
723 },
724 {
725 //ssdtREV2, dungeon
726 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
727 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
728 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
729 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
730 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
731 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
732 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
733 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
734 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
735 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
736 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
737 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
738 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
739 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
740 { ssoTEXT, pos, 62, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
741 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
742 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
743 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
744 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
745 { sso2X2FRAME, pos, 6, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
746 { sso2X2FRAME, pos, 16, 98, 9, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
747 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
748 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
749 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
750 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
751 { ssoCURRENTITEM, pos, 24, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
752 { ssoCURRENTITEM, pos, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
753 { ssoCURRENTITEM, pos, 64, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_bosskey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
754 { sso2X2FRAME, pos, 118, 18, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
755 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
756 { ssoCURRENTITEM, pos, 14, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
757 { ssoCURRENTITEM, pos, 30, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
758 { ssoCURRENTITEM, pos, 46, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
759 { ssoCURRENTITEM, pos, 62, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
760 { ssoCURRENTITEM, pos, 78, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
761 { ssoCURRENTITEM, pos, 94, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
762 { ssoCURRENTITEM, pos, 14, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
763 { ssoCURRENTITEM, pos, 30, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
764 { ssoCURRENTITEM, pos, 46, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
765 { ssoCURRENTITEM, pos, 62, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
766 { ssoCURRENTITEM, pos, 78, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
767 { ssoCURRENTITEM, pos, 94, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
768 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
769 { ssoCURRENTITEM, pos, 170, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
770 { ssoCURRENTITEM, pos, 178, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
771 { ssoCURRENTITEM, pos, 126, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
772 { ssoCURRENTITEM, pos, 150, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
773 { ssoCURRENTITEM, pos, 174, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
774 { ssoCURRENTITEM, pos, 198, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
775 { ssoCURRENTITEM, pos, 222, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
776 { ssoCURRENTITEM, pos, 126, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
777 { ssoCURRENTITEM, pos, 150, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
778 { ssoCURRENTITEM, pos, 174, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
779 { ssoCURRENTITEM, pos, 198, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
780 { ssoCURRENTITEM, pos, 222, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
781 { ssoCURRENTITEM, pos, 126, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
782 { ssoCURRENTITEM, pos, 150, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
783 { ssoCURRENTITEM, pos, 174, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
784 { ssoCURRENTITEM, pos, 198, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
785 { ssoCURRENTITEM, pos, 222, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
786 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
787 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
788 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
789 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
790 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
791 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
792 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
793 }
794 },
795 {
796 //ssdtBSZELDA
797 {
798 //ssdtBSZELDA, overworld
799 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
800 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
801 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
802 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
803 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
804 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
805 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
806 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
807 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
808 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
809 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
810 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
811 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
812 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
813 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
814 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
815 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
816 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
817 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
818 { sso2X2FRAME, pos, 20, 40, 13, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
819 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
820 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
821 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
822 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
823 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
824 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
825 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
826 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
827 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
828 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
829 { ssoCURRENTITEM, pos, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
830 { ssoCURRENTITEM, pos, 96, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
831 { ssoCURRENTITEM, pos, 80, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
832 { ssoCURRENTITEM, pos, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
833 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
834 { ssoCURRENTITEM, pos, 64, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
835 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
836 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
837 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
838 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
839 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
840 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
841 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
842 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
843 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
844 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
845 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
846 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
847 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
848 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
849 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
850 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
851 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
852 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
853 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
854 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
855 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
856 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
857 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
858 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
859 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
860 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
861 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
862 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
863 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
864 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
865 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
866 },
867 {
868 //ssdtBSZELDA, dungeon
869 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
870 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
871 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
872 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
873 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
874 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
875 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
876 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
877 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
878 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
879 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
880 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
881 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
882 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
883 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
884 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
885 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
886 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
887 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
888 { sso2X2FRAME, pos, 20, 40, 13, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
889 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
890 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
891 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
892 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
893 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
894 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
895 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
896 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
897 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
898 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
899 { ssoCURRENTITEM, pos, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
900 { ssoCURRENTITEM, pos, 96, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
901 { ssoCURRENTITEM, pos, 80, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
902 { ssoCURRENTITEM, pos, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
903 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
904 { ssoCURRENTITEM, pos, 64, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
905 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
906 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
907 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
908 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
909 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
910 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
911 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
912 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
913 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
914 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
915 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
916 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
917 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
918 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
919 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
920 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
921 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
922 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
923 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
924 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
925 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
926 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
927 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
928 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
929 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
930 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
931 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
932 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
933 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
934 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
935 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
936 }
937 },
938 {
939 //ssdtBSZELDAMODIFIED
940 {
941 //ssdtBSZELDAMODIFIED, overworld
942 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
943 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
944 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
945 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
946 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
947 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
948 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
949 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
950 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
951 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
952 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
953 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
954 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
955 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
956 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
957 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
958 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
959 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
960 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
961 { sso2X2FRAME, pos, 12, 40, 15, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
962 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
963 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
964 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
965 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
966 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
967 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
968 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
969 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
970 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
971 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
972 { ssoCURRENTITEM, pos, 40, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
973 { ssoCURRENTITEM, pos, 88, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
974 { ssoCURRENTITEM, pos, 72, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
975 { ssoCURRENTITEM, pos, 24, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
976 { ssoCURRENTITEM, pos, 104, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
977 { ssoCURRENTITEM, pos, 56, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
978 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
979 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
980 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
981 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
982 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
983 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
984 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
985 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
986 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
987 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
988 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
989 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
990 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
991 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
992 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
993 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
994 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
995 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
996 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
997 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
998 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
999 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1000 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1001 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1002 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1003 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1004 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1005 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1006 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1007 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1008 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1009 },
1010 {
1011 //ssdtBSZELDAMODIFIED, dungeon
1012 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1013 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1014 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1015 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1016 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1017 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1018 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1019 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1020 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1021 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1022 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1023 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1024 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1025 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1026 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1027 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1028 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1029 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1030 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1031 { sso2X2FRAME, pos, 12, 40, 15, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1032 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1033 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1034 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1035 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
1036 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
1037 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1038 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1039 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1040 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1041 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1042 { ssoCURRENTITEM, pos, 40, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1043 { ssoCURRENTITEM, pos, 88, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1044 { ssoCURRENTITEM, pos, 72, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1045 { ssoCURRENTITEM, pos, 24, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1046 { ssoCURRENTITEM, pos, 104, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1047 { ssoCURRENTITEM, pos, 56, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1048 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1049 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1050 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1051 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1052 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1053 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1054 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1055 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1056 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1057 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1058 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1059 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1060 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1061 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1062 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1063 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1064 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1065 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1066 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1067 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1068 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1069 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1070 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1071 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1072 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1073 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1074 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1075 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1076 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1077 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1078 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1079 }
1080 },
1081 {
1082 //ssdtBSZELDAENHANCED
1083 {
1084 //ssdtBSZELDAENHANCED, overworld
1085 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1086 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1087 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1088 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1089 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1090 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1091 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1092 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1093 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1094 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1095 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1096 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1097 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1098 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1099 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1100 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1101 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1102 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1103 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1104 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1105 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
1106 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1107 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1108 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1109 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1110 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1111 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1112 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1113 { sso2X2FRAME, pos, 20, 104, 14, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1114 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1115 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1116 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1117 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1118 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1119 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1120 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1121 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1122 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1123 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1124 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1125 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1126 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1127 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1128 { ssoCURRENTITEM, pos, 76, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1129 { ssoCURRENTITEM, pos, 84, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1130 { ssoCURRENTITEM, pos, 32, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1131 { ssoCURRENTITEM, pos, 56, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1132 { ssoCURRENTITEM, pos, 80, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1133 { ssoCURRENTITEM, pos, 104, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1134 { ssoCURRENTITEM, pos, 32, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1135 { ssoCURRENTITEM, pos, 56, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1136 { ssoCURRENTITEM, pos, 80, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1137 { ssoCURRENTITEM, pos, 104, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1138 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1139 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1140 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1141 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1142 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1143 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1144 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1145 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1146 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1147 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1148 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1149 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1150 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1151 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1152 },
1153 {
1154 //ssdtBSZELDAENHANCED, dungeon
1155 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1156 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1157 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1158 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1159 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1160 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1161 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1162 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1163 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1164 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1165 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1166 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1167 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1168 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1169 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1170 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1171 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1172 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1173 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1174 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1175 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1176 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1177 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1178 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
1179 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
1180 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1181 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1182 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1183 { sso2X2FRAME, pos, 20, 104, 14, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1184 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1185 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1186 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1187 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1188 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1189 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1190 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1191 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1192 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1193 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1194 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1195 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1196 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1197 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1198 { ssoCURRENTITEM, pos, 76, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1199 { ssoCURRENTITEM, pos, 84, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1200 { ssoCURRENTITEM, pos, 32, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1201 { ssoCURRENTITEM, pos, 56, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1202 { ssoCURRENTITEM, pos, 80, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1203 { ssoCURRENTITEM, pos, 104, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1204 { ssoCURRENTITEM, pos, 32, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1205 { ssoCURRENTITEM, pos, 56, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1206 { ssoCURRENTITEM, pos, 80, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1207 { ssoCURRENTITEM, pos, 104, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1208 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1209 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1210 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1211 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1212 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1213 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1214 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1215 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1216 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1217 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1218 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1219 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1220 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1221 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1222 }
1223 },
1224 {
1225 //ssdtBSZELDACOMPLETE
1226 {
1227 //ssdtBSZELDACOMPLETE, overworld
1228 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1229 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1230 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1231 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1232 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1233 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1234 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1235 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1236 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1237 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1238 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1239 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1240 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1241 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1242 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1243 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1244 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1245 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1246 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1247 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1248 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
1249 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1250 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1251 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1252 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1253 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1254 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1255 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1256 { sso2X2FRAME, pos, 4, 104, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1257 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1258 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1259 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1260 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1261 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1262 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1263 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1264 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1265 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1266 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1267 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1268 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1269 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1270 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1271 { ssoCURRENTITEM, pos, 58, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1272 { ssoCURRENTITEM, pos, 68, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1273 { ssoCURRENTITEM, pos, 14, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1274 { ssoCURRENTITEM, pos, 38, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1275 { ssoCURRENTITEM, pos, 62, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1276 { ssoCURRENTITEM, pos, 86, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
1277 { ssoCURRENTITEM, pos, 110, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1278 { ssoCURRENTITEM, pos, 14, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1279 { ssoCURRENTITEM, pos, 38, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1280 { ssoCURRENTITEM, pos, 62, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1281 { ssoCURRENTITEM, pos, 86, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
1282 { ssoCURRENTITEM, pos, 110, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1283 { ssoCURRENTITEM, pos, 14, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1284 { ssoCURRENTITEM, pos, 38, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1285 { ssoCURRENTITEM, pos, 62, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1286 { ssoCURRENTITEM, pos, 86, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
1287 { ssoCURRENTITEM, pos, 110, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1288 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1289 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1290 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1291 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1292 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1293 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1294 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1295 },
1296 {
1297 //ssdtBSZELDACOMPLETE, dungeon
1298 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1299 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1300 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1301 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1302 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1303 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1304 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1305 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1306 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1307 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1308 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1309 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1310 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1311 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1312 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1313 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1314 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1315 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1316 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1317 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1318 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1319 { sso2X2FRAME, pos, 152, 40, 10, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1320 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1321 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1322 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1323 { ssoCURRENTITEM, pos, 160, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1324 { ssoCURRENTITEM, pos, 184, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1325 { ssoCURRENTITEM, pos, 208, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bosskey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1326 { sso2X2FRAME, pos, 4, 104, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1327 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1328 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1329 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1330 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1331 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1332 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1333 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1334 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1335 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1336 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1337 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1338 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1339 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1340 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1341 { ssoCURRENTITEM, pos, 58, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1342 { ssoCURRENTITEM, pos, 68, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1343 { ssoCURRENTITEM, pos, 14, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1344 { ssoCURRENTITEM, pos, 38, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1345 { ssoCURRENTITEM, pos, 62, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1346 { ssoCURRENTITEM, pos, 86, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
1347 { ssoCURRENTITEM, pos, 110, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1348 { ssoCURRENTITEM, pos, 14, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1349 { ssoCURRENTITEM, pos, 38, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1350 { ssoCURRENTITEM, pos, 62, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1351 { ssoCURRENTITEM, pos, 86, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
1352 { ssoCURRENTITEM, pos, 110, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1353 { ssoCURRENTITEM, pos, 14, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1354 { ssoCURRENTITEM, pos, 38, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1355 { ssoCURRENTITEM, pos, 62, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1356 { ssoCURRENTITEM, pos, 86, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
1357 { ssoCURRENTITEM, pos, 110, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1358 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1359 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1360 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1361 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1362 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1363 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1364 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1365 }
1366 }
1367 };
1368 subscreen_object default_subscreen_passive[ssdtMAX][2][21]= //[zinit.subscreen][no magic]
1369 {
1370 {
1371 //ssdtOLD
1372 {
1373 //ssdtOLD, magic
1374 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1375 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1376 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1377 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1378 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1379 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1380 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1381 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1382 { ssoBUTTONITEM, sspUP, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1383 { ssoBUTTONITEM, sspUP, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1384 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1385 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1386 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1387 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1388 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1389 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1390 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1391 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1392 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1393 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1394 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1395 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1396 },
1397 {
1398 //ssdtOLD, no magic
1399 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1400 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1401 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1402 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1403 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1404 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1405 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1406 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1407 { ssoBUTTONITEM, sspUP, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1408 { ssoBUTTONITEM, sspUP, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1409 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1410 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1411 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1412 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1413 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1414 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1415 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1416 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1417 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1418 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1419 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1420 }
1421 },
1422 {
1423 //ssdtNEWSUBSCR
1424 {
1425 //ssdtNEWSUBSCR, magic
1426 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1427 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1428 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1429 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1430 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1431 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1432 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1433 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1434 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1435 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1436 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1437 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1438 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1439 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1440 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1441 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1442 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1443 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1444 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1445 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1446 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1447 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1448 },
1449 {
1450 //ssdtNEWSUBSCR, no magic
1451 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1452 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1453 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1454 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1455 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1456 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1457 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1458 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1459 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1460 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1461 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1462 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1463 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1464 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1465 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1466 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1467 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1468 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1469 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1470 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1471 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1472 }
1473 },
1474 {
1475 //ssdtREV2
1476 {
1477 //ssdtREV2, magic
1478 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1479 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1480 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1481 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1482 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1483 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1484 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1485 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1486 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1487 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1488 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1489 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1490 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1491 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1492 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1493 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1494 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1495 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1496 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1497 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1498 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1499 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1500 },
1501 {
1502 //ssdtREV2, no magic
1503 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1504 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1505 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1506 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1507 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1508 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1509 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1510 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1511 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1512 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1513 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1514 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1515 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1516 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1517 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1518 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1519 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1520 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1521 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1522 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1523 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1524 }
1525 },
1526 {
1527 //ssdtBSZELDA
1528 {
1529 //ssdtBSZELDA, magic
1530 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1531 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1532 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1533 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1534 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1535 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1536 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1537 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1538 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1539 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1540 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1541 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1542 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1543 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1544 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1545 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1546 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1547 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1548 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1549 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1550 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1551 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1552 },
1553 {
1554 //ssdtBSZELDA, no magic
1555 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1556 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1557 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1558 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1559 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1560 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1561 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1562 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1563 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1564 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1565 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1566 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1567 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1568 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1569 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1570 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1571 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1572 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1573 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1574 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1575 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1576 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1577 }
1578 },
1579 {
1580 //ssdtBSZELDAMODIFIED
1581 {
1582 //ssdtBSZELDAMODIFIED, magic
1583 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1584 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1585 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1586 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1587 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1588 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1589 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1590 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1591 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1592 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1593 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1594 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1595 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1596 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1597 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1598 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1599 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1600 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1601 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1602 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1603 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1604 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1605 },
1606 {
1607 //ssdtBSZELDAMODIFIED, no magic
1608 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1609 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1610 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1611 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1612 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1613 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1614 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1615 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1616 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1617 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1618 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1619 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1620 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1621 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1622 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1623 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1624 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1625 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1626 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1627 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1628 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1629 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1630 }
1631 },
1632 {
1633 //ssdtBSZELDAENHANCED
1634 {
1635 //ssdtBSZELDAENHANCED, magic
1636 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1637 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1638 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1639 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1640 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1641 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1642 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1643 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1644 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1645 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1646 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1647 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1648 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1649 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1650 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1651 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1652 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1653 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1654 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1655 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1656 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1657 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1658 },
1659 {
1660 //ssdtBSZELDAENHANCED, no magic
1661 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1662 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1663 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1664 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1665 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1666 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1667 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1668 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1669 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1670 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1671 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1672 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1673 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1674 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1675 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1676 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1677 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1678 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1679 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1680 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1681 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1682 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1683 }
1684 },
1685 {
1686 //ssdtBSZELDACOMPLETE
1687 {
1688 //ssdtBSZELDACOMPLETE, magic
1689 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1690 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1691 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1692 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1693 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1694 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1695 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1696 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1697 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1698 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1699 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1700 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1701 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1702 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1703 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1704 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1705 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1706 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1707 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1708 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1709 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1710 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1711 },
1712 {
1713 //ssdtBSZELDACOMPLETE, no magic
1714 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1715 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1716 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1717 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1718 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1719 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1720 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1721 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1722 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1723 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1724 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1725 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1726 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1727 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1728 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1729 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1730 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1731 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1732 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1733 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1734 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1735 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1736 }
1737 }
1738 };
1739
1740 55089308 void textout_styled_aligned_ex(BITMAP *bmp, const FONT *f, const char *s, int32_t x, int32_t y, int32_t textstyle, int32_t alignment, int32_t color, int32_t shadow, int32_t bg)
1741 {
1742
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 5382765 times.
✓ Branch 2 taken 25479079 times.
✓ Branch 3 taken 24227464 times.
55089308 switch(alignment)
1743 {
1744 case sstaRIGHT:
1745
3/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 923 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 11678 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 5370164 times.
5382765 switch(textstyle)
1746 {
1747 case sstsSHADOW:
1748 textout_shadow_right_ex(bmp, f, s, x, y, shadow, bg);
1749 break;
1750
1751 case sstsSHADOWU:
1752 textout_shadow_right_u_ex(bmp, f, s, x, y, shadow, bg);
1753 break;
1754
1755 case sstsOUTLINE8:
1756 textout_shadow_right_o_ex(bmp, f, s, x, y, shadow, bg);
1757 break;
1758
1759 case sstsOUTLINEPLUS:
1760 textout_shadow_right_plus_ex(bmp, f, s, x, y, shadow, bg);
1761 break;
1762
1763 case sstsOUTLINEX:
1764 textout_shadow_right_x_ex(bmp, f, s, x, y, shadow, bg);
1765 break;
1766
1767 case sstsSHADOWED:
1768 923 textout_shadowed_right_ex(bmp, f, s, x, y, color, shadow, bg);
1769 923 break;
1770
1771 case sstsSHADOWEDU:
1772 textout_shadowed_right_u_ex(bmp, f, s, x, y, color, shadow, bg);
1773 break;
1774
1775 case sstsOUTLINED8:
1776 11678 textout_shadowed_right_o_ex(bmp, f, s, x, y, color, shadow, bg);
1777 11678 break;
1778
1779 case sstsOUTLINEDPLUS:
1780 textout_shadowed_right_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1781 break;
1782
1783 case sstsOUTLINEDX:
1784 textout_shadowed_right_x_ex(bmp, f, s, x, y, color, shadow, bg);
1785 break;
1786
1787 5370164 case sstsNORMAL:
1788 default:
1789 5370164 textout_right_ex(bmp, f, s, x, y, color, bg);
1790 5370164 break;
1791 }
1792
1793 5382765 break;
1794
1795 case sstaCENTER:
1796
4/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 2532 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20974 times.
✓ Branch 9 taken 288470 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 25167103 times.
25479079 switch(textstyle)
1797 {
1798 case sstsSHADOW:
1799 textout_shadow_center_ex(bmp, f, s, x, y, shadow, bg);
1800 break;
1801
1802 case sstsSHADOWU:
1803 textout_shadow_center_u_ex(bmp, f, s, x, y, shadow, bg);
1804 break;
1805
1806 case sstsOUTLINE8:
1807 textout_shadow_center_o_ex(bmp, f, s, x, y, shadow, bg);
1808 break;
1809
1810 case sstsOUTLINEPLUS:
1811 textout_shadow_center_plus_ex(bmp, f, s, x, y, shadow, bg);
1812 break;
1813
1814 case sstsOUTLINEX:
1815 textout_shadow_center_x_ex(bmp, f, s, x, y, shadow, bg);
1816 break;
1817
1818 case sstsSHADOWED:
1819 2532 textout_shadowed_center_ex(bmp, f, s, x, y, color, shadow, bg);
1820 2532 break;
1821
1822 case sstsSHADOWEDU:
1823 textout_shadowed_center_u_ex(bmp, f, s, x, y, color, shadow, bg);
1824 break;
1825
1826 case sstsOUTLINED8:
1827 20974 textout_shadowed_center_o_ex(bmp, f, s, x, y, color, shadow, bg);
1828 20974 break;
1829
1830 case sstsOUTLINEDPLUS:
1831 288470 textout_shadowed_center_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1832 288470 break;
1833
1834 case sstsOUTLINEDX:
1835 textout_shadowed_center_x_ex(bmp, f, s, x, y, color, shadow, bg);
1836 break;
1837
1838 25167103 case sstsNORMAL:
1839 default:
1840 25167103 textout_centre_ex(bmp, f, s, x, y, color, bg);
1841 25167103 break;
1842 }
1843
1844 25479079 break;
1845
1846 24227464 case sstaLEFT:
1847 default:
1848
5/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 4908 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 806545 times.
✓ Branch 9 taken 1605547 times.
✓ Branch 10 taken 364228 times.
✓ Branch 11 taken 21446236 times.
24227464 switch(textstyle)
1849 {
1850 case sstsSHADOW:
1851 textout_shadow_ex(bmp, f, s, x, y, shadow, bg);
1852 break;
1853
1854 case sstsSHADOWU:
1855 textout_shadow_u_ex(bmp, f, s, x, y, shadow, bg);
1856 break;
1857
1858 case sstsOUTLINE8:
1859 textout_shadow_o_ex(bmp, f, s, x, y, shadow, bg);
1860 break;
1861
1862 case sstsOUTLINEPLUS:
1863 textout_shadow_plus_ex(bmp, f, s, x, y, shadow, bg);
1864 break;
1865
1866 case sstsOUTLINEX:
1867 textout_shadow_x_ex(bmp, f, s, x, y, shadow, bg);
1868 break;
1869
1870 case sstsSHADOWED:
1871 4908 textout_shadowed_ex(bmp, f, s, x, y, color, shadow, bg);
1872 4908 break;
1873
1874 case sstsSHADOWEDU:
1875 textout_shadowed_u_ex(bmp, f, s, x, y, color, shadow, bg);
1876 break;
1877
1878 case sstsOUTLINED8:
1879 806545 textout_shadowed_o_ex(bmp, f, s, x, y, color, shadow, bg);
1880 806545 break;
1881
1882 case sstsOUTLINEDPLUS:
1883 1605547 textout_shadowed_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1884 1605547 break;
1885
1886 case sstsOUTLINEDX:
1887 364228 textout_shadowed_x_ex(bmp, f, s, x, y, color, shadow, bg);
1888 364228 break;
1889
1890 21446236 case sstsNORMAL:
1891 default:
1892 21446236 textout_ex(bmp, f, s, x, y, color, bg);
1893 21446236 break;
1894 }
1895
1896 24227464 break;
1897 }
1898 55089308 }
1899
1900 22445031 void textprintf_styled_aligned_ex(BITMAP *bmp, const FONT *f, int32_t x, int32_t y, int32_t textstyle, int32_t alignment, int32_t color, int32_t shadow, int32_t bg, const char *format, ...)
1901 {
1902
1903 char buf[512];
1904 va_list ap;
1905
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 22445031 times.
22445031 ASSERT(bmp);
1906
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 22445031 times.
22445031 ASSERT(f);
1907
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 22445031 times.
22445031 ASSERT(format);
1908
1909 22445031 va_start(ap, format);
1910 22445031 uvszprintf(buf, sizeof(buf), format, ap);
1911 22445031 va_end(ap);
1912
1913 22445031 textout_styled_aligned_ex(bmp, f, buf, x, y, textstyle, alignment, color, shadow, bg);
1914 22445031 }
1915
1916
1917 64665 void draw_textbox(BITMAP *dest, int32_t x, int32_t y, int32_t w, int32_t h, FONT *tempfont, char *thetext, bool wword, int32_t tabsize, int32_t alignment, int32_t textstyle, int32_t color, int32_t shadowcolor, int32_t backcolor)
1918 {
1919 64665 int32_t y1 = y;
1920 int32_t x1;
1921 int32_t len;
1922 char s[16];
1923 char text[16];
1924 char space[16];
1925 64665 char *printed = text;
1926 64665 char *scanned = text;
1927 64665 char *oldscan = text;
1928 64665 char *ignore = NULL;
1929 char *tmp, *ptmp;
1930 int32_t width;
1931 64665 int32_t i = 0;
1932 int32_t noignore;
1933
1934 64665 usetc(s+usetc(s, '.'), 0);
1935 64665 usetc(text+usetc(text, ' '), 0);
1936 64665 usetc(space+usetc(space, ' '), 0);
1937
1938 /* find the correct text */
1939
1/2
✓ Branch 0 taken 64665 times.
✗ Branch 1 not taken.
64665 if(thetext != NULL)
1940 {
1941 64665 printed = thetext;
1942 64665 scanned = thetext;
1943 64665 }
1944
1945 /* loop over the entire string */
1946 239069 for(;;)
1947 {
1948 239069 width = 0;
1949
1950 /* find the next break */
1951
2/2
✓ Branch 0 taken 18109 times.
✓ Branch 1 taken 287809 times.
305918 while(ugetc(scanned))
1952 {
1953 /* check for a forced break */
1954
1/2
✓ Branch 0 taken 287809 times.
✗ Branch 1 not taken.
287809 if(ugetc(scanned) == '\n')
1955 {
1956 scanned += uwidth(scanned);
1957 /* we are done parsing the line end */
1958 break;
1959 }
1960
1961 /* the next character length */
1962 287809 usetc(s+usetc(s, ugetc(scanned)), 0);
1963 287809 len = text_length(tempfont, s);
1964
1965 /* modify length if its a tab */
1966
2/2
✓ Branch 0 taken 266501 times.
✓ Branch 1 taken 21308 times.
287809 if(ugetc(s) == '\t')
1967 {
1968 21308 len = tabsize * text_length(tempfont, space);
1969 21308 }
1970
1971 /* check for the end of a line by excess width of next char */
1972
2/2
✓ Branch 0 taken 66849 times.
✓ Branch 1 taken 220960 times.
287809 if(width+len >= w)
1973 {
1974 /* we have reached end of line do we go back to find start */
1975
1/2
✓ Branch 0 taken 220960 times.
✗ Branch 1 not taken.
220960 if(wword)
1976 {
1977 /* remember where we were */
1978 oldscan = scanned;
1979 noignore = FALSE;
1980
1981 /* go backwards looking for start of word */
1982 while(!uisspace(ugetc(scanned)))
1983 {
1984 /* don't wrap too far */
1985 if(scanned == printed)
1986 {
1987 /* the whole line is filled, so stop here */
1988 tmp = ptmp = scanned;
1989
1990 while(ptmp != oldscan)
1991 {
1992 ptmp = tmp;
1993 tmp += uwidth(tmp);
1994 }
1995
1996 scanned = ptmp;
1997 noignore = TRUE;
1998 break;
1999 }
2000
2001 /* look further backwards to wrap */
2002 tmp = ptmp = printed;
2003
2004 while(tmp < scanned)
2005 {
2006 ptmp = tmp;
2007 tmp += uwidth(tmp);
2008 }
2009
2010 scanned = ptmp;
2011 }
2012
2013 /* put the space at the end of the line */
2014 if(!noignore)
2015 {
2016 ignore = scanned;
2017 scanned += uwidth(scanned);
2018 }
2019 else
2020 {
2021 ignore = NULL;
2022 }
2023
2024 /* check for endline at the convenient place */
2025 if(ugetc(scanned) == '\n')
2026 {
2027 scanned += uwidth(scanned);
2028 }
2029 }
2030
2031 /* we are done parsing the line end */
2032 220960 break;
2033 }
2034
2035 /* the character can be added */
2036 66849 scanned += uwidth(scanned);
2037 66849 width += len;
2038 }
2039
2040 /* check if we are to print it */
2041
2/2
✓ Branch 0 taken 13767 times.
✓ Branch 1 taken 225302 times.
239069 if((y1+text_height(tempfont) <= (y+h)))
2042 {
2043 13767 int32_t tempw=0;
2044 13767 char *tempprinted=printed;
2045
2046 /* print up to the marked character */
2047
2/2
✓ Branch 0 taken 45541 times.
✓ Branch 1 taken 13767 times.
59308 while(printed != scanned)
2048 {
2049 /* do special stuff for each charater */
2050
1/3
✗ Branch 0 not taken.
✓ Branch 1 taken 45541 times.
✗ Branch 2 not taken.
45541 switch(ugetc(printed))
2051 {
2052 case '\r':
2053 case '\n':
2054 /* don't print endlines in the text */
2055 break;
2056
2057 /* possibly expand the tabs */
2058 case '\t':
2059 for(i=0; i<tabsize; i++)
2060 {
2061 usetc(s+usetc(s, ' '), 0);
2062 tempw += text_length(tempfont, s);
2063 }
2064
2065 break;
2066
2067 /* print a normal character */
2068 default:
2069
1/2
✓ Branch 0 taken 45541 times.
✗ Branch 1 not taken.
45541 if(printed != ignore)
2070 {
2071 45541 usetc(s+usetc(s, ugetc(printed)), 0);
2072 45541 tempw += text_length(tempfont, s);
2073 45541 }
2074 45541 }
2075
2076 /* goto the next character */
2077 45541 printed += uwidth(printed);
2078 }
2079
2080 13767 printed=tempprinted;
2081
2082
2/4
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✓ Branch 2 taken 13269 times.
✓ Branch 3 taken 498 times.
13767 switch(alignment)
2083 {
2084 case sstaRIGHT:
2085 x1=x+w-tempw;
2086 break;
2087
2088 case sstaCENTER:
2089 13269 x1=x+((w-tempw)/2)+1;
2090 13269 break;
2091
2092 498 case sstaLEFT:
2093 default:
2094 498 x1 = x;
2095 498 break;
2096 }
2097
2098 /* print up to the marked character */
2099
2/2
✓ Branch 0 taken 45541 times.
✓ Branch 1 taken 13767 times.
59308 while(printed != scanned)
2100 {
2101 /* do special stuff for each charater */
2102
1/3
✗ Branch 0 not taken.
✓ Branch 1 taken 45541 times.
✗ Branch 2 not taken.
45541 switch(ugetc(printed))
2103 {
2104
2105 case '\r':
2106 case '\n':
2107 /* don't print endlines in the text */
2108 break;
2109
2110 /* possibly expand the tabs */
2111 case '\t':
2112 for(i=0; i<tabsize; i++)
2113 {
2114 usetc(s+usetc(s, ' '), 0);
2115 textout_styled_aligned_ex(dest, tempfont, s, x1, y1, textstyle, sstaLEFT, color, shadowcolor, backcolor);
2116 x1 += text_length(tempfont, s);
2117 }
2118
2119 break;
2120
2121 /* print a normal character */
2122 default:
2123
1/2
✓ Branch 0 taken 45541 times.
✗ Branch 1 not taken.
45541 if(printed != ignore)
2124 {
2125 45541 usetc(s+usetc(s, ugetc(printed)), 0);
2126 45541 textout_styled_aligned_ex(dest, tempfont, s, x1, y1, textstyle, sstaLEFT, color, shadowcolor, backcolor);
2127 45541 x1 += text_length(tempfont, s);
2128 45541 }
2129 45541 }
2130
2131 /* goto the next character */
2132 45541 printed += uwidth(printed);
2133 }
2134
2135 /* print the line end */
2136 13767 y1 += text_height(tempfont);
2137 13767 }
2138 else
2139 {
2140 225302 scanned += uwidth(scanned);
2141 }
2142
2143 239069 printed = scanned;
2144
2145 /* check if we are at the end of the string */
2146
2/2
✓ Branch 0 taken 64665 times.
✓ Branch 1 taken 174404 times.
239069 if(!ugetc(printed))
2147 {
2148 64665 return;
2149 }
2150 }
2151 }
2152
2153
2154
2155 //void frame2x2(BITMAP *dest,miscQdata *misc,int32_t x,int32_t y,int32_t xsize,int32_t ysize,int32_t t,int32_t c)
2156 //draw_block_flip(dest,x,y,css->objects[i].d1,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3,css->objects[i].d4);
2157 14229385 void frame2x2(BITMAP *dest,miscQdata *misc,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h,int32_t /*flip*/,bool overlay,bool trans)
2158 {
2159 /*
2160 /- -- -- -\
2161 | |
2162 | |
2163 \_ __ __ _/
2164
2165 0 1 4 5
2166 2 3 6 7
2167 80 81 84 85
2168 82 83 86 87
2169 */
2170
3/4
✓ Branch 0 taken 12319274 times.
✓ Branch 1 taken 1910111 times.
✓ Branch 2 taken 12319274 times.
✗ Branch 3 not taken.
14229385 if(tile==0&&misc)
2171 {
2172 12319274 tile = misc->colors.blueframe_tile;
2173 12319274 }
2174
2175 14229385 int32_t t8 = tile<<2;
2176
2177
2/2
✓ Branch 0 taken 14217694 times.
✓ Branch 1 taken 11691 times.
14229385 if(overlay)
2178 {
2179
2/2
✓ Branch 0 taken 44345 times.
✓ Branch 1 taken 14173349 times.
14217694 if(trans)
2180 {
2181
2/2
✓ Branch 0 taken 1419040 times.
✓ Branch 1 taken 44345 times.
1463385 for(int32_t dx=0; dx<w; dx++)
2182 {
2183
6/6
✓ Branch 0 taken 709520 times.
✓ Branch 1 taken 709520 times.
✓ Branch 2 taken 44345 times.
✓ Branch 3 taken 665175 times.
✓ Branch 4 taken 665175 times.
✓ Branch 5 taken 44345 times.
1419040 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2184
6/6
✓ Branch 0 taken 709520 times.
✓ Branch 1 taken 709520 times.
✓ Branch 2 taken 44345 times.
✓ Branch 3 taken 665175 times.
✓ Branch 4 taken 665175 times.
✓ Branch 5 taken 44345 times.
1419040 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2185
2186 1419040 overtiletranslucent8(dest,top,(dx<<3)+x,y,cset,0,128);
2187 1419040 overtiletranslucent8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0,128);
2188 1419040 }
2189
2190
2/2
✓ Branch 0 taken 221725 times.
✓ Branch 1 taken 44345 times.
266070 for(int32_t dy=1; dy<h-1; dy++)
2191 {
2192
2/2
✓ Branch 0 taken 133035 times.
✓ Branch 1 taken 88690 times.
221725 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2193
2/2
✓ Branch 0 taken 133035 times.
✓ Branch 1 taken 88690 times.
221725 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2194
2195 221725 overtiletranslucent8(dest,left,x,(dy<<3)+y,cset,0,128);
2196 221725 overtiletranslucent8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0,128);
2197
2198
2/2
✓ Branch 0 taken 6651750 times.
✓ Branch 1 taken 221725 times.
6873475 for(int32_t dx=1; dx<w-1; dx++)
2199 {
2200
6/6
✓ Branch 0 taken 3991050 times.
✓ Branch 1 taken 2660700 times.
✓ Branch 2 taken 1995525 times.
✓ Branch 3 taken 1995525 times.
✓ Branch 4 taken 1330350 times.
✓ Branch 5 taken 1330350 times.
6651750 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2201 6651750 overtiletranslucent8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0,128);
2202 6651750 }
2203 221725 }
2204 44345 }
2205 else
2206 {
2207
2/2
✓ Branch 0 taken 49456934 times.
✓ Branch 1 taken 14173349 times.
63630283 for(int32_t dx=0; dx<w; dx++)
2208 {
2209
6/6
✓ Branch 0 taken 30965156 times.
✓ Branch 1 taken 18491778 times.
✓ Branch 2 taken 14173349 times.
✓ Branch 3 taken 16791807 times.
✓ Branch 4 taken 4318429 times.
✓ Branch 5 taken 14173349 times.
49456934 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2210
6/6
✓ Branch 0 taken 30965156 times.
✓ Branch 1 taken 18491778 times.
✓ Branch 2 taken 14173349 times.
✓ Branch 3 taken 16791807 times.
✓ Branch 4 taken 4318429 times.
✓ Branch 5 taken 14173349 times.
49456934 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2211
2212 49456934 overtile8(dest,top,(dx<<3)+x,y,cset,0);
2213 49456934 overtile8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0);
2214 49456934 }
2215
2216
2/2
✓ Branch 0 taken 30465758 times.
✓ Branch 1 taken 14173349 times.
44639107 for(int32_t dy=1; dy<h-1; dy++)
2217 {
2218
2/2
✓ Branch 0 taken 15795537 times.
✓ Branch 1 taken 14670221 times.
30465758 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2219
2/2
✓ Branch 0 taken 15795537 times.
✓ Branch 1 taken 14670221 times.
30465758 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2220
2221 30465758 overtile8(dest,left,x,(dy<<3)+y,cset,0);
2222 30465758 overtile8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0);
2223
2224
2/2
✓ Branch 0 taken 54660255 times.
✓ Branch 1 taken 30465758 times.
85126013 for(int32_t dx=1; dx<w-1; dx++)
2225 {
2226
6/6
✓ Branch 0 taken 28458177 times.
✓ Branch 1 taken 26202078 times.
✓ Branch 2 taken 20595444 times.
✓ Branch 3 taken 7862733 times.
✓ Branch 4 taken 19467394 times.
✓ Branch 5 taken 6734684 times.
54660255 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2227 54660255 overtile8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0);
2228 54660255 }
2229 30465758 }
2230 }
2231 14217694 }
2232 else
2233 {
2234
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 11691 times.
11691 if(trans)
2235 {
2236 for(int32_t dx=0; dx<w; dx++)
2237 {
2238 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2239 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2240
2241 puttiletranslucent8(dest,top,(dx<<3)+x,y,cset,0,128);
2242 puttiletranslucent8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0,128);
2243 }
2244
2245 for(int32_t dy=1; dy<h-1; dy++)
2246 {
2247 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2248 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2249
2250 puttiletranslucent8(dest,left,x,(dy<<3)+y,cset,0,128);
2251 puttiletranslucent8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0,128);
2252
2253 for(int32_t dx=1; dx<w-1; dx++)
2254 {
2255 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2256 puttiletranslucent8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0,128);
2257 }
2258 }
2259 }
2260 else
2261 {
2262
2/2
✓ Branch 0 taken 187056 times.
✓ Branch 1 taken 11691 times.
198747 for(int32_t dx=0; dx<w; dx++)
2263 {
2264
6/6
✓ Branch 0 taken 93528 times.
✓ Branch 1 taken 93528 times.
✓ Branch 2 taken 11691 times.
✓ Branch 3 taken 81837 times.
✓ Branch 4 taken 81837 times.
✓ Branch 5 taken 11691 times.
187056 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2265
6/6
✓ Branch 0 taken 93528 times.
✓ Branch 1 taken 93528 times.
✓ Branch 2 taken 11691 times.
✓ Branch 3 taken 81837 times.
✓ Branch 4 taken 81837 times.
✓ Branch 5 taken 11691 times.
187056 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2266
2267 187056 oldputtile8(dest,top,(dx<<3)+x,y,cset,0);
2268 187056 oldputtile8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0);
2269 187056 }
2270
2271
2/2
✓ Branch 0 taken 93528 times.
✓ Branch 1 taken 11691 times.
105219 for(int32_t dy=1; dy<h-1; dy++)
2272 {
2273
2/2
✓ Branch 0 taken 46764 times.
✓ Branch 1 taken 46764 times.
93528 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2274
2/2
✓ Branch 0 taken 46764 times.
✓ Branch 1 taken 46764 times.
93528 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2275
2276 93528 oldputtile8(dest,left,x,(dy<<3)+y,cset,0);
2277 93528 oldputtile8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0);
2278
2279
2/2
✓ Branch 0 taken 1309392 times.
✓ Branch 1 taken 93528 times.
1402920 for(int32_t dx=1; dx<w-1; dx++)
2280 {
2281
6/6
✓ Branch 0 taken 654696 times.
✓ Branch 1 taken 654696 times.
✓ Branch 2 taken 327348 times.
✓ Branch 3 taken 327348 times.
✓ Branch 4 taken 327348 times.
✓ Branch 5 taken 327348 times.
1309392 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2282 1309392 oldputtile8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0);
2283 1309392 }
2284 93528 }
2285 }
2286 }
2287 14229385 }
2288
2289 2400798 void drawgrid(BITMAP *dest,int32_t x,int32_t y,int32_t c1,int32_t c2)
2290 {
2291 2400798 int32_t si=0;
2292
2293
2/2
✓ Branch 0 taken 19206384 times.
✓ Branch 1 taken 2400798 times.
21607182 for(int32_t y2=0; y2<=7; ++y2)
2294 {
2295 19206384 byte dl = DMaps[get_currdmap()].grid[si];
2296
2297
2/2
✓ Branch 0 taken 153651072 times.
✓ Branch 1 taken 19206384 times.
172857456 for(int32_t x2=0; x2<=7; ++x2)
2298 {
2299
2/2
✓ Branch 0 taken 15707392 times.
✓ Branch 1 taken 137943680 times.
153651072 if(c2==-1)
2300 {
2301
2/2
✓ Branch 0 taken 72240427 times.
✓ Branch 1 taken 65703253 times.
137943680 if(dl&0x80)
2302 65703253 rectfill(dest,(x2*8)+x,(y2*4)+y,(x2*8)+x+6,(y2*4)+y+2,c1);
2303 137943680 }
2304 else
2305 {
2306 15707392 rectfill(dest,(x2*8)+x,(y2*4)+y,(x2*8)+x+6,(y2*4)+y+2,c2);
2307
2308
1/2
✓ Branch 0 taken 15707392 times.
✗ Branch 1 not taken.
15707392 if(dl&0x80)
2309 rectfill(dest,(x2*8)+x+2,(y2*4)+y,(x2*8)+x+4,(y2*4)+y+2,c1);
2310 }
2311
2312 153651072 dl<<=1;
2313 153651072 }
2314
2315 19206384 ++si;
2316 19206384 }
2317 2400798 }
2318
2319 2465039 void draw_block(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h)
2320 {
2321
2/2
✓ Branch 0 taken 7398889 times.
✓ Branch 1 taken 2465039 times.
9863928 for(int32_t j=0; j<h; j++)
2322
2/2
✓ Branch 0 taken 37111227 times.
✓ Branch 1 taken 7398889 times.
44510116 for(int32_t i=0; i<w; i++)
2323 44510116 overtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2324 2465039 }
2325
2326 13084274 void draw_block_flip(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h,int32_t flip,bool overlay,bool trans)
2327 {
2328
2/2
✓ Branch 0 taken 13061297 times.
✓ Branch 1 taken 22977 times.
13084274 if(overlay)
2329 {
2330
1/5
✗ Branch 0 not taken.
✓ Branch 1 taken 13061297 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
13061297 switch(flip&3)
2331 {
2332 case 0:
2333
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 13061297 times.
13061297 if(trans)
2334 {
2335 for(int32_t j=0; j<h; j++)
2336 {
2337 for(int32_t i=0; i<w; i++)
2338 {
2339 overtiletranslucent16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0,255-trans);
2340 }
2341 }
2342 }
2343 else
2344 {
2345
2/2
✓ Branch 0 taken 15306933 times.
✓ Branch 1 taken 13061297 times.
28368230 for(int32_t j=0; j<h; j++)
2346 {
2347
2/2
✓ Branch 0 taken 40578694 times.
✓ Branch 1 taken 15306933 times.
55885627 for(int32_t i=0; i<w; i++)
2348 {
2349 40578694 overtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2350 40578694 }
2351 15306933 }
2352 }
2353
2354 13061297 break;
2355
2356 case 1: //horizontal
2357 if(trans)
2358 {
2359 for(int32_t j=0; j<h; j++)
2360 {
2361 for(int32_t i=0; i<w; i++)
2362 {
2363 overtiletranslucent16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1,255-trans);
2364 }
2365 }
2366 }
2367 else
2368 {
2369 for(int32_t j=0; j<h; j++)
2370 {
2371 for(int32_t i=0; i<w; i++)
2372 {
2373 overtile16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1);
2374 }
2375 }
2376 }
2377
2378 break;
2379
2380 case 2:
2381 if(trans)
2382 {
2383 for(int32_t j=0; j<h; j++)
2384 {
2385 for(int32_t i=0; i<w; i++)
2386 {
2387 overtiletranslucent16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2,255-trans);
2388 }
2389 }
2390 }
2391 else
2392 {
2393 for(int32_t j=0; j<h; j++)
2394 {
2395 for(int32_t i=0; i<w; i++)
2396 {
2397 overtile16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2);
2398 }
2399 }
2400 }
2401
2402 break;
2403
2404 case 3:
2405 if(trans)
2406 {
2407 for(int32_t j=0; j<h; j++)
2408 {
2409 for(int32_t i=0; i<w; i++)
2410 {
2411 overtiletranslucent16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3,255-trans);
2412 }
2413 }
2414 }
2415 else
2416 {
2417 for(int32_t j=0; j<h; j++)
2418 {
2419 for(int32_t i=0; i<w; i++)
2420 {
2421 overtile16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3);
2422 }
2423 }
2424 }
2425
2426 break;
2427 }
2428 13061297 }
2429 else
2430 {
2431
1/5
✗ Branch 0 not taken.
✓ Branch 1 taken 22977 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
22977 switch(flip&3)
2432 {
2433 case 0:
2434
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 22977 times.
22977 if(trans)
2435 {
2436 for(int32_t j=0; j<h; j++)
2437 {
2438 for(int32_t i=0; i<w; i++)
2439 {
2440 puttiletranslucent16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0,255-trans);
2441 }
2442 }
2443 }
2444 else
2445 {
2446
2/2
✓ Branch 0 taken 118148 times.
✓ Branch 1 taken 22977 times.
141125 for(int32_t j=0; j<h; j++)
2447 {
2448
2/2
✓ Branch 0 taken 708888 times.
✓ Branch 1 taken 118148 times.
827036 for(int32_t i=0; i<w; i++)
2449 {
2450 708888 oldputtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2451 708888 }
2452 118148 }
2453 }
2454
2455 22977 break;
2456
2457 case 1: //horizontal
2458 if(trans)
2459 {
2460 for(int32_t j=0; j<h; j++)
2461 {
2462 for(int32_t i=0; i<w; i++)
2463 {
2464 puttiletranslucent16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1,255-trans);
2465 }
2466 }
2467 }
2468 else
2469 {
2470 for(int32_t j=0; j<h; j++)
2471 {
2472 for(int32_t i=0; i<w; i++)
2473 {
2474 oldputtile16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1);
2475 }
2476 }
2477 }
2478
2479 break;
2480
2481 case 2:
2482 if(trans)
2483 {
2484 for(int32_t j=0; j<h; j++)
2485 {
2486 for(int32_t i=0; i<w; i++)
2487 {
2488 puttiletranslucent16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2,255-trans);
2489 }
2490 }
2491 }
2492 else
2493 {
2494 for(int32_t j=0; j<h; j++)
2495 {
2496 for(int32_t i=0; i<w; i++)
2497 {
2498 oldputtile16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2);
2499 }
2500 }
2501 }
2502
2503 break;
2504
2505 case 3:
2506 if(trans)
2507 {
2508 for(int32_t j=0; j<h; j++)
2509 {
2510 for(int32_t i=0; i<w; i++)
2511 {
2512 puttiletranslucent16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3,255-trans);
2513 }
2514 }
2515 }
2516 else
2517 {
2518 for(int32_t j=0; j<h; j++)
2519 {
2520 for(int32_t i=0; i<w; i++)
2521 {
2522 oldputtile16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3);
2523 }
2524 }
2525 }
2526
2527 break;
2528 }
2529 }
2530 13084274 }
2531
2532 6556172 void drawdmap(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y, bool showmap, int32_t showhero, int32_t showcompass, int32_t herocolor, int32_t lccolor, int32_t dccolor)
2533 {
2534 6556172 zcolors c=misc->colors;
2535 6556172 int32_t type = (DMaps[get_currdmap()].type&dmfTYPE);
2536
2537
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 6556172 times.
6556172 if(showmap)
2538 {
2539
2/3
✓ Branch 0 taken 2074103 times.
✓ Branch 1 taken 4482069 times.
✗ Branch 2 not taken.
6556172 switch(type)
2540 {
2541 case dmOVERW:
2542 case dmBSOVERW:
2543 {
2544
3/4
✓ Branch 0 taken 31461 times.
✓ Branch 1 taken 2042642 times.
✓ Branch 2 taken 31461 times.
✗ Branch 3 not taken.
2074103 int32_t maptile=(!get_bit(quest_rules, qr_BROKEN_OVERWORLD_MINIMAP) && has_item(itype_map, get_dlevel()))?DMaps[get_currdmap()].minimap_2_tile:DMaps[get_currdmap()].minimap_1_tile;
2545
3/4
✓ Branch 0 taken 31461 times.
✓ Branch 1 taken 2042642 times.
✓ Branch 2 taken 31461 times.
✗ Branch 3 not taken.
2074103 int32_t mapcset=(!get_bit(quest_rules, qr_BROKEN_OVERWORLD_MINIMAP) && has_item(itype_map, get_dlevel()))?DMaps[get_currdmap()].minimap_2_cset:DMaps[get_currdmap()].minimap_1_cset;
2546 //What a mess. The map drawing is based on a variable that can change states during a scrolling transition when warping. -Z
2547
2/2
✓ Branch 0 taken 18624 times.
✓ Branch 1 taken 2055479 times.
2074103 if(maptile)
2548 {
2549 18624 draw_block(dest,x,y,maptile,mapcset,5,3);
2550 18624 }
2551
3/4
✓ Branch 0 taken 1075190 times.
✓ Branch 1 taken 980289 times.
✓ Branch 2 taken 1075190 times.
✗ Branch 3 not taken.
2055479 else if(c.overworld_map_tile || c.overworld_map_tile)
2552 {
2553
1/2
✓ Branch 0 taken 980289 times.
✗ Branch 1 not taken.
980289 draw_block(dest,x,y,(c.overworld_map_tile!=0?c.overworld_map_tile:c.overworld_map_tile),c.overworld_map_cset,5,3);
2554 980289 }
2555 else
2556 {
2557 1075190 rectfill(dest,x+8,y+8,x+71,y+39,c.overw_bg);
2558 }
2559
2560
4/4
✓ Branch 0 taken 2055479 times.
✓ Branch 1 taken 18624 times.
✓ Branch 2 taken 1810051 times.
✓ Branch 3 taken 245428 times.
2074103 if(!DMaps[get_currdmap()].minimap_1_tile && ((DMaps[get_currdmap()].type&dmfTYPE) == dmBSOVERW))
2561 {
2562 245428 drawgrid(dest,x+8,y+8,c.bs_goal,c.bs_dk);
2563 245428 }
2564
2565 2074103 break;
2566 }
2567 case dmDNGN:
2568 case dmCAVE:
2569 {
2570
2/2
✓ Branch 0 taken 2229586 times.
✓ Branch 1 taken 2252483 times.
4482069 int32_t maptile=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].minimap_2_tile:DMaps[get_currdmap()].minimap_1_tile;
2571
2/2
✓ Branch 0 taken 2229586 times.
✓ Branch 1 taken 2252483 times.
4482069 int32_t mapcset=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].minimap_2_cset:DMaps[get_currdmap()].minimap_1_cset;
2572 //What a mess. The map drawing is based on a variable that can change states during a scrolling transition when warping. -Z
2573
2/2
✓ Branch 0 taken 119555 times.
✓ Branch 1 taken 4362514 times.
4482069 if(maptile)
2574 {
2575 119555 draw_block(dest,x,y,maptile,mapcset,5,3);
2576 119555 }
2577
3/4
✓ Branch 0 taken 3044183 times.
✓ Branch 1 taken 1318331 times.
✓ Branch 2 taken 3044183 times.
✗ Branch 3 not taken.
4362514 else if(c.dungeon_map_tile||c.dungeon_map_tile)
2578 {
2579
1/2
✓ Branch 0 taken 1318331 times.
✗ Branch 1 not taken.
1318331 draw_block(dest,x,y,(c.dungeon_map_tile!=0?c.dungeon_map_tile:c.dungeon_map_tile),c.dungeon_map_cset,5,3);
2580 1318331 }
2581 else
2582 {
2583 3044183 rectfill(dest,x+8,y+8,x+71,y+39,c.dngn_bg);
2584 }
2585 //Marking this as a possible area for the scrolling warp map bug reported by Lut. -Z
2586
4/4
✓ Branch 0 taken 4387904 times.
✓ Branch 1 taken 94165 times.
✓ Branch 2 taken 2232534 times.
✓ Branch 3 taken 2155370 times.
4482069 if(!DMaps[get_currdmap()].minimap_2_tile && has_item(itype_map, get_dlevel()))
2587 {
2588
2/2
✓ Branch 0 taken 31399 times.
✓ Branch 1 taken 2123971 times.
2155370 if((DMaps[get_currdmap()].flags&dmfMINIMAPCOLORFIX) != 0)
2589 {
2590 31399 drawgrid(dest,x+8,y+8,c.cave_fg,-1);
2591 31399 }
2592 else
2593 {
2594 2123971 drawgrid(dest,x+8,y+8,c.dngn_fg,-1);
2595 }
2596 2155370 }
2597
2598 4482069 break;
2599 }
2600 }
2601 6556172 }
2602
2603
1/2
✓ Branch 0 taken 6556172 times.
✗ Branch 1 not taken.
6556172 if(showcompass)
2604 {
2605
4/4
✓ Branch 0 taken 2388856 times.
✓ Branch 1 taken 4167316 times.
✓ Branch 2 taken 314753 times.
✓ Branch 3 taken 2074103 times.
6556172 if(type==dmDNGN || type==dmCAVE)
2606 {
2607
4/4
✓ Branch 0 taken 4478789 times.
✓ Branch 1 taken 3280 times.
✓ Branch 2 taken 1835902 times.
✓ Branch 3 taken 2642887 times.
4482069 if(show_subscreen_dmap_dots&&has_item(itype_compass, get_dlevel()))
2608 {
2609 2642887 int32_t c2 = dccolor;
2610
2611
4/4
✓ Branch 0 taken 2415839 times.
✓ Branch 1 taken 227048 times.
✓ Branch 2 taken 1217756 times.
✓ Branch 3 taken 1198083 times.
2642887 if(!has_item(itype_triforcepiece, get_dlevel()) && (frame&16))
2612 1198083 c2 = lccolor;
2613
2614 2642887 int32_t cx = ((DMaps[get_currdmap()].compass&15)<<3)+x+10;
2615 2642887 int32_t cy = ((DMaps[get_currdmap()].compass&0xF0)>>2)+y+8;
2616 2642887 putdot(dest,cx,cy,c2);
2617 2642887 }
2618 4482069 }
2619 6556172 }
2620
2621
1/2
✓ Branch 0 taken 6556172 times.
✗ Branch 1 not taken.
6556172 if(showhero)
2622 {
2623
4/4
✓ Branch 0 taken 6548332 times.
✓ Branch 1 taken 7840 times.
✓ Branch 2 taken 39 times.
✓ Branch 3 taken 6548293 times.
6556172 if(show_subscreen_dmap_dots && herocolor != 255)
2624 {
2625
2/2
✓ Branch 0 taken 1824111 times.
✓ Branch 1 taken 4724182 times.
6548293 if(type==dmOVERW)
2626 {
2627 1824111 putdot(dest,((get_homescr()&15)<<2)+x+9,((get_homescr()&0xF0)>>2)+y+8,herocolor);
2628 1824111 }
2629
6/6
✓ Branch 0 taken 4478759 times.
✓ Branch 1 taken 245423 times.
✓ Branch 2 taken 314753 times.
✓ Branch 3 taken 4164006 times.
✓ Branch 4 taken 4265584 times.
✓ Branch 5 taken 213175 times.
4724182 else if(type==dmBSOVERW || ((type==dmDNGN || type==dmCAVE) && get_currscr()<128))
2630 {
2631 4511007 putdot(dest,(((get_homescr()&15)-DMaps[get_currdmap()].xoff)<<3)+x+10,((get_homescr()&0xF0)>>2)+y+8,herocolor);
2632 4511007 }
2633 6548293 }
2634 6556172 }
2635 6556172 }
2636
2637 5993639 void lifemeter(BITMAP *dest,int32_t x,int32_t y,int32_t cs,bool bs_style)
2638 {
2639
2/2
✓ Branch 0 taken 5984711 times.
✓ Branch 1 taken 8928 times.
5993639 if(!show_subscreen_life)
2640 {
2641 8928 return;
2642 }
2643
2644
2/2
✓ Branch 0 taken 1380667 times.
✓ Branch 1 taken 4604044 times.
5984711 if(!bs_style)
2645 {
2646 4604044 y+=24;
2647 4604044 }
2648 5984711 int32_t tile = 0;
2649 5984711 const int32_t basetile = wpnsbuf[iwQuarterHearts].tile;
2650
2/4
✓ Branch 0 taken 5984711 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 5984711 times.
✗ Branch 3 not taken.
5984711 const int32_t max_iter = (game != NULL ? zc_min(game->get_maxlife(),game->get_hp_per_heart()*24) : 1);
2651
1/2
✓ Branch 0 taken 5984711 times.
✗ Branch 1 not taken.
5984711 const int32_t inc = (game != NULL ? game->get_hp_per_heart() : 16);
2652
2653
2/2
✓ Branch 0 taken 5984711 times.
✓ Branch 1 taken 65911038 times.
71895749 for(int32_t i=0; i<max_iter; i+=inc)
2654 {
2655
1/2
✓ Branch 0 taken 65911038 times.
✗ Branch 1 not taken.
65911038 if(game != NULL)
2656 {
2657
2/2
✓ Branch 0 taken 22212507 times.
✓ Branch 1 taken 43698531 times.
65911038 if(get_bit(quest_rules,qr_QUARTERHEART))
2658 {
2659
2/2
✓ Branch 0 taken 18845172 times.
✓ Branch 1 taken 3367335 times.
22212507 if(i+((game->get_hp_per_heart()/4)*3)>=game->get_life()) tile= (basetile*4)+2;
2660
2661
2/2
✓ Branch 0 taken 19077940 times.
✓ Branch 1 taken 3134567 times.
22212507 if(i+(game->get_hp_per_heart()/2)>=game->get_life()) tile=1;
2662
2663
2/2
✓ Branch 0 taken 19496098 times.
✓ Branch 1 taken 2716409 times.
22212507 if(i+((game->get_hp_per_heart()/4)*1)>=game->get_life()) tile= (basetile*4)+3;
2664 22212507 }
2665
2/2
✓ Branch 0 taken 33494978 times.
✓ Branch 1 taken 10203553 times.
43698531 else if(i+(game->get_hp_per_heart()/2)>=game->get_life()) tile=1;
2666
2667
2/2
✓ Branch 0 taken 54443609 times.
✓ Branch 1 taken 11467429 times.
65911038 if(i>=game->get_life()) tile=4;
2668 65911038 }
2669 else
2670 tile=4;
2671
2672 65911038 overtile8(dest,tile,x,y,cs,0);
2673 65911038 x+=8;
2674
2675
2/2
✓ Branch 0 taken 60313726 times.
✓ Branch 1 taken 5597312 times.
65911038 if(((i>>4)&7)==7)
2676 {
2677 5597312 x-=64;
2678 5597312 y+=bs_style?8:-8;
2679 5597312 }
2680 65911038 }
2681 5993639 }
2682
2683 9563061 void magicgauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
2684 int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last, int32_t show)
2685 {
2686 //these are here to bypass compiler warnings about unused arguments
2687 9563061 frames=frames;
2688 9563061 speed=speed;
2689 9563061 delay=delay;
2690
2691 // show
2692 // <0: always
2693 // >=0: when drain rate matches show
2694
2/2
✓ Branch 0 taken 9000528 times.
✓ Branch 1 taken 562533 times.
9563061 if(show > -1)
2695 {
2696
1/2
✓ Branch 0 taken 562533 times.
✗ Branch 1 not taken.
562533 if(show != game->get_magicdrainrate())
2697 562533 return;
2698 }
2699
2700 9000528 int32_t containers=game->get_maxmagic()/game->get_mp_per_block();
2701 9000528 int32_t tile=zc_oldrand()%32767, cset=zc_oldrand()%15;
2702 9000528 bool mod_value=(zc_oldrand()%2)!=0;
2703
2704
2/2
✓ Branch 0 taken 3223438 times.
✓ Branch 1 taken 5777090 times.
9000528 if(container<containers)
2705 {
2706 3223438 tile=notlast_tile;
2707 3223438 cset=notlast_cset;
2708 3223438 mod_value=notlast_mod;
2709 3223438 }
2710
2/2
✓ Branch 0 taken 464672 times.
✓ Branch 1 taken 5312418 times.
5777090 else if(container==containers)
2711 {
2712 464672 tile=last_tile;
2713 464672 cset=last_cset;
2714 464672 mod_value=last_mod;
2715 464672 }
2716
2/2
✓ Branch 0 taken 562533 times.
✓ Branch 1 taken 4749885 times.
5312418 else if(container==containers+1)
2717 {
2718 562533 tile=cap_tile;
2719 562533 cset=cap_cset;
2720 562533 mod_value=cap_mod;
2721 562533 }
2722 else //if (container>containers+1)
2723 {
2724 4749885 tile=aftercap_tile;
2725 4749885 cset=aftercap_cset;
2726 4749885 mod_value=aftercap_mod;
2727 }
2728
2729
2/2
✓ Branch 0 taken 5312418 times.
✓ Branch 1 taken 3688110 times.
9000528 if(mod_value)
2730 {
2731
2/2
✓ Branch 0 taken 3344494 times.
✓ Branch 1 taken 343616 times.
3688110 if(game->get_magic()>=container*game->get_mp_per_block())
2732 {
2733 //tile=tile; //full block
2734
2/2
✓ Branch 0 taken 3092439 times.
✓ Branch 1 taken 252055 times.
3344494 if(game->get_magic()==container*game->get_mp_per_block())
2735 {
2736
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 252055 times.
252055 if(unique_last)
2737 {
2738 tile+=game->get_mp_per_block()+3;
2739 }
2740 252055 }
2741 3344494 }
2742 else
2743 {
2744
2/2
✓ Branch 0 taken 119468 times.
✓ Branch 1 taken 224148 times.
343616 if(((container-1)*game->get_mp_per_block())>game->get_magic())
2745 {
2746 119468 tile+=4; //empty block
2747 119468 }
2748 else
2749 {
2750 224148 tile+=4+((game->get_magic()-((container-1)*game->get_mp_per_block()))%game->get_mp_per_block());
2751 }
2752 }
2753 3688110 }
2754
2755 //tile=14161*4;
2756 9000528 overtile8(dest,tile,x,y,cset,0);
2757
2758 9563061 }
2759
2760 18789032 void lifegauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
2761 int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last)
2762 {
2763 //these are here to bypass compiler warnings about unused arguments
2764 18789032 frames=frames;
2765 18789032 speed=speed;
2766 18789032 delay=delay;
2767
2768 18789032 int32_t containers=game->get_maxlife()/game->get_hp_per_heart();
2769 18789032 int32_t tile=zc_oldrand()%32767, cset=zc_oldrand()%15;
2770 18789032 bool mod_value=(zc_oldrand()%2)!=0;
2771
2772
2/2
✓ Branch 0 taken 5779387 times.
✓ Branch 1 taken 13009645 times.
18789032 if(container<containers)
2773 {
2774 5779387 tile=notlast_tile;
2775 5779387 cset=notlast_cset;
2776 5779387 mod_value=notlast_mod;
2777 5779387 }
2778
2/2
✓ Branch 0 taken 1221641 times.
✓ Branch 1 taken 11788004 times.
13009645 else if(container==containers)
2779 {
2780 1221641 tile=last_tile;
2781 1221641 cset=last_cset;
2782 1221641 mod_value=last_mod;
2783 1221641 }
2784
2/2
✓ Branch 0 taken 1124617 times.
✓ Branch 1 taken 10663387 times.
11788004 else if(container==containers+1)
2785 {
2786 1124617 tile=cap_tile;
2787 1124617 cset=cap_cset;
2788 1124617 mod_value=cap_mod;
2789 1124617 }
2790 else //if (container>containers+1)
2791 {
2792 10663387 tile=aftercap_tile;
2793 10663387 cset=aftercap_cset;
2794 10663387 mod_value=aftercap_mod;
2795 }
2796
2797
2/2
✓ Branch 0 taken 11788004 times.
✓ Branch 1 taken 7001028 times.
18789032 if(mod_value)
2798 {
2799
2/2
✓ Branch 0 taken 5722193 times.
✓ Branch 1 taken 1278835 times.
7001028 if(game->get_life()>=container*game->get_hp_per_heart())
2800 {
2801 //tile=tile; //full block
2802
2/2
✓ Branch 0 taken 4874929 times.
✓ Branch 1 taken 847264 times.
5722193 if(game->get_life()==container*game->get_hp_per_heart())
2803 {
2804
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 847264 times.
847264 if(unique_last)
2805 {
2806 tile+=game->get_hp_per_heart()+3;
2807 }
2808 847264 }
2809 5722193 }
2810 else
2811 {
2812
2/2
✓ Branch 0 taken 816511 times.
✓ Branch 1 taken 462324 times.
1278835 if(((container-1)*game->get_hp_per_heart())>game->get_life())
2813 {
2814 816511 tile+=4; //empty block
2815 816511 }
2816 else
2817 {
2818 462324 tile+=4+((game->get_life()-((container-1)*game->get_hp_per_heart()))%game->get_hp_per_heart());
2819 }
2820 }
2821 7001028 }
2822
2823 18789032 overtile8(dest,tile,x,y,cset,0);
2824
2825 18789032 }
2826
2827
2828 1829921 void magicmeter(BITMAP *dest,int32_t x,int32_t y)
2829 {
2830
1/2
✓ Branch 0 taken 1829921 times.
✗ Branch 1 not taken.
1829921 if(!get_bit(quest_rules,qr_ENABLEMAGIC)) return;
2831
2832
2/2
✓ Branch 0 taken 1740862 times.
✓ Branch 1 taken 89059 times.
1829921 if(game->get_maxmagic()==0) return;
2833
2834 int32_t tile;
2835 1740862 int32_t mmtile=wpnsbuf[iwMMeter].tile;
2836 1740862 int32_t mmcset=wpnsbuf[iwMMeter].csets&15;
2837 1740862 overtile8(dest,(mmtile*4)+2,x-8,y,mmcset,0);
2838
2839
2/2
✓ Branch 0 taken 871195 times.
✓ Branch 1 taken 869667 times.
1740862 if(game->get_magicdrainrate()==1)
2840 {
2841 871195 overtile8(dest,(mmtile*4)+1,x-10,y,mmcset,0);
2842 871195 }
2843
2844
2/2
✓ Branch 0 taken 4290861 times.
✓ Branch 1 taken 1740862 times.
6031723 for(int32_t i=0; i<game->get_maxmagic(); i+=game->get_mp_per_block())
2845 {
2846
2/2
✓ Branch 0 taken 3074765 times.
✓ Branch 1 taken 1216096 times.
4290861 if(game->get_magic()>=i+game->get_mp_per_block())
2847 {
2848 3074765 tile=mmtile*4; //full block
2849 3074765 }
2850 else
2851 {
2852
2/2
✓ Branch 0 taken 251981 times.
✓ Branch 1 taken 964115 times.
1216096 if(i>game->get_magic())
2853 {
2854 251981 tile=((mmtile+1)*4); //empty block
2855 251981 }
2856 else
2857 {
2858 964115 tile=((mmtile+1)*4)+((game->get_magic()-i)%game->get_mp_per_block());
2859 }
2860 }
2861
2862 4290861 overtile8(dest,tile,x,y,mmcset,0);
2863 4290861 x+=8;
2864 4290861 }
2865
2866 1740862 overtile8(dest,(mmtile*4)+3,x,y,mmcset,0);
2867
2868 1829921 }
2869
2870 15582090 void putxnum(BITMAP *dest,int32_t x,int32_t y,int32_t num,FONT *tempfont,int32_t color,int32_t shadowcolor,int32_t bgcolor,int32_t textstyle,bool usex,int32_t digits,bool infinite,char idigit)
2871 {
2872
2/2
✓ Branch 0 taken 26784 times.
✓ Branch 1 taken 15555306 times.
15582090 if(!show_subscreen_numbers)
2873 {
2874 26784 return;
2875 }
2876
2877 15555306 int32_t found_digits=5;
2878
2879
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 15555306 times.
15555306 if(num<10000)
2880 {
2881 15555306 found_digits=4;
2882 15555306 }
2883
2884
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 15555306 times.
15555306 if(num<1000)
2885 {
2886 15555306 found_digits=3;
2887 15555306 }
2888
2889
2/2
✓ Branch 0 taken 3315483 times.
✓ Branch 1 taken 12239823 times.
15555306 if(num<100)
2890 {
2891 12239823 found_digits=2;
2892 12239823 }
2893
2894
2/2
✓ Branch 0 taken 6632055 times.
✓ Branch 1 taken 8923251 times.
15555306 if(num<10)
2895 {
2896 8923251 found_digits=1;
2897 8923251 }
2898
2899
2/2
✓ Branch 0 taken 977200 times.
✓ Branch 1 taken 14578106 times.
15555306 if(infinite)
2900 {
2901 977200 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,sstaLEFT,color,shadowcolor,bgcolor,"%s%c",usex?"X":"",idigit);
2902 977200 }
2903 else
2904 {
2905
1/2
✓ Branch 0 taken 14578106 times.
✗ Branch 1 not taken.
14578106 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,sstaLEFT,color,shadowcolor,bgcolor,"%s%d",(usex && found_digits<digits)?"X":"",num);
2906 }
2907 15582090 }
2908
2909 /*
2910 INLINE void putdot(BITMAP *dest,int32_t x,int32_t y,int32_t c)
2911 {
2912 rectfill(dest,x,y,x+2,y+2,c);
2913 }
2914 */
2915
2916 /**** Subscr items code ****/
2917
2918 item *Bitem = NULL, *Aitem = NULL, *Yitem = NULL, *Xitem = NULL;
2919 int32_t Bid = 0, Aid = 0, Xid = 0, Yid = 0;
2920
2921 98 void reset_subscr_items()
2922 {
2923
2/2
✓ Branch 0 taken 28 times.
✓ Branch 1 taken 70 times.
98 if(Aitem)
2924 {
2925
1/2
✓ Branch 0 taken 70 times.
✗ Branch 1 not taken.
70 delete Aitem;
2926 70 Aitem = NULL;
2927 70 }
2928
2929
2/2
✓ Branch 0 taken 30 times.
✓ Branch 1 taken 68 times.
98 if(Bitem)
2930 {
2931
1/2
✓ Branch 0 taken 68 times.
✗ Branch 1 not taken.
68 delete Bitem;
2932 68 Bitem = NULL;
2933 68 }
2934
2/2
✓ Branch 0 taken 97 times.
✓ Branch 1 taken 1 times.
98 if(Yitem)
2935 {
2936
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 delete Yitem;
2937 1 Yitem = NULL;
2938 1 }
2939
2940
2/2
✓ Branch 0 taken 97 times.
✓ Branch 1 taken 1 times.
98 if(Xitem)
2941 {
2942
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 delete Xitem;
2943 1 Xitem = NULL;
2944 1 }
2945
2946 98 Aid = Bid = Yid = Xid = 0;
2947 98 }
2948
2949
2950 7278576 void update_subscr_items()
2951 {
2952
2/2
✓ Branch 0 taken 7271151 times.
✓ Branch 1 taken 7425 times.
7278576 if(Bid != Bwpn)
2953 {
2954 7425 Bid = 0;
2955
2956
2/2
✓ Branch 0 taken 92 times.
✓ Branch 1 taken 7333 times.
7425 if(Bitem)
2957 {
2958
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7333 times.
7333 delete Bitem;
2959 7333 Bitem = NULL;
2960 7333 }
2961
2962
2/2
✓ Branch 0 taken 6 times.
✓ Branch 1 taken 7419 times.
7425 if(Bwpn > 0)
2963 {
2964
4/8
✓ Branch 0 taken 7419 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 7419 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 7419 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 7419 times.
✗ Branch 7 not taken.
7419 Bitem = new item((zfix)0, (zfix)0, (zfix)0, Bwpn&0x0FFF, 0, 0);
2965 7419 Bitem->dummy_bool[0]=false;
2966
2967
2/2
✓ Branch 0 taken 6409 times.
✓ Branch 1 taken 1010 times.
7419 switch(itemsbuf[Bwpn&0x0FFF].family)
2968 {
2969 case itype_arrow:
2970
1/2
✓ Branch 0 taken 1010 times.
✗ Branch 1 not taken.
1010 if((Bwpn&0xF000)==0xF000)
2971 {
2972 Bitem->dummy_bool[0]=true;
2973 }
2974
2975 1010 break;
2976 //default: break;
2977 }
2978
2979 // Bitem = new item((zfix)(zinit.subscreen<ssdtBSZELDA?124:136), (zfix)24,(zfix)0, Bwpn, 0, 0);
2980
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7419 times.
7419 if(Bitem != NULL)
2981 {
2982 7419 Bid = Bwpn;
2983 7419 Bitem->yofs = 0;
2984 7419 Bitem->pickup |= ipDUMMY;
2985 7419 }
2986 7419 }
2987 7425 }
2988
2989
2/2
✓ Branch 0 taken 7278453 times.
✓ Branch 1 taken 123 times.
7278576 if(Aid != Awpn)
2990 {
2991 123 Aid = 0;
2992
2993
2/2
✓ Branch 0 taken 88 times.
✓ Branch 1 taken 35 times.
123 if(Aitem)
2994 {
2995
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 35 times.
35 delete Aitem;
2996 35 Aitem = NULL;
2997 35 }
2998
2999
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 123 times.
123 if(Awpn > 0)
3000 {
3001
4/8
✓ Branch 0 taken 123 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 123 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 123 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 123 times.
✗ Branch 7 not taken.
123 Aitem = new item((zfix)0, (zfix)0,(zfix)0,Awpn&0x0FFF, 0, 0);
3002
3003
1/2
✓ Branch 0 taken 123 times.
✗ Branch 1 not taken.
123 switch(itemsbuf[Awpn&0x0FFF].family)
3004 {
3005 case itype_arrow:
3006 if((Awpn&0xF000)==0xF000)
3007 {
3008 Aitem->dummy_bool[0]=true;
3009 }
3010
3011 break;
3012 //default: break;
3013 }
3014
3015
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 123 times.
123 if(Aitem != NULL)
3016 {
3017 123 Aid = Awpn;
3018 123 Aitem->yofs = 0;
3019 123 Aitem->pickup |= ipDUMMY;
3020 123 }
3021 123 }
3022 123 }
3023
3024
2/2
✓ Branch 0 taken 7278566 times.
✓ Branch 1 taken 10 times.
7278576 if(Xid != Xwpn)
3025 {
3026 10 Xid = 0;
3027
3028
2/2
✓ Branch 0 taken 6 times.
✓ Branch 1 taken 4 times.
10 if(Xitem)
3029 {
3030
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
4 delete Xitem;
3031 4 Xitem = NULL;
3032 4 }
3033
3034
2/2
✓ Branch 0 taken 4 times.
✓ Branch 1 taken 6 times.
10 if(Xwpn > 0)
3035 {
3036
4/8
✓ Branch 0 taken 6 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 6 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 6 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 6 times.
✗ Branch 7 not taken.
6 Xitem = new item((zfix)0, (zfix)0,(zfix)0,Xwpn&0x0FFF, 0, 0);
3037
3038
1/2
✓ Branch 0 taken 6 times.
✗ Branch 1 not taken.
6 switch(itemsbuf[Xwpn&0x0FFF].family)
3039 {
3040 case itype_arrow:
3041 if((Xwpn&0xF000)==0xF000)
3042 {
3043 Xitem->dummy_bool[0]=true;
3044 }
3045
3046 break;
3047 //default: break;
3048 }
3049
3050
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 6 times.
6 if(Xitem != NULL)
3051 {
3052 6 Xid = Xwpn;
3053 6 Xitem->yofs = 0;
3054 6 Xitem->pickup |= ipDUMMY;
3055 6 }
3056 6 }
3057 10 }
3058
3059
2/2
✓ Branch 0 taken 7278557 times.
✓ Branch 1 taken 19 times.
7278576 if(Yid != Ywpn)
3060 {
3061 19 Yid = 0;
3062
3063
2/2
✓ Branch 0 taken 5 times.
✓ Branch 1 taken 14 times.
19 if(Yitem)
3064 {
3065
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 14 times.
14 delete Yitem;
3066 14 Yitem = NULL;
3067 14 }
3068
3069
2/2
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 16 times.
19 if(Ywpn > 0)
3070 {
3071
4/8
✓ Branch 0 taken 16 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 16 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 16 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 16 times.
✗ Branch 7 not taken.
16 Yitem = new item((zfix)0, (zfix)0,(zfix)0,Ywpn&0x0FFF, 0, 0);
3072
3073
1/2
✓ Branch 0 taken 16 times.
✗ Branch 1 not taken.
16 switch(itemsbuf[Ywpn&0x0FFF].family)
3074 {
3075 case itype_arrow:
3076 if((Ywpn&0xF000)==0xF000)
3077 {
3078 Yitem->dummy_bool[0]=true;
3079 }
3080
3081 break;
3082 //default: break;
3083 }
3084
3085
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 16 times.
16 if(Yitem != NULL)
3086 {
3087 16 Yid = Ywpn;
3088 16 Yitem->yofs = 0;
3089 16 Yitem->pickup |= ipDUMMY;
3090 16 }
3091 16 }
3092 19 }
3093
3094
2/2
✓ Branch 0 taken 257471 times.
✓ Branch 1 taken 7021105 times.
7278576 if(Bitem)
3095 7021105 Bitem->animate(0);
3096
3097
2/2
✓ Branch 0 taken 248435 times.
✓ Branch 1 taken 7030141 times.
7278576 if(Aitem)
3098 7030141 Aitem->animate(0);
3099
3100
2/2
✓ Branch 0 taken 7251747 times.
✓ Branch 1 taken 26829 times.
7278576 if(Xitem)
3101 26829 Xitem->animate(0);
3102
3103
2/2
✓ Branch 0 taken 7202340 times.
✓ Branch 1 taken 76236 times.
7278576 if(Yitem)
3104 76236 Yitem->animate(0);
3105 7278576 }
3106
3107 502659 void add_subscr_item(item *newItem)
3108 {
3109 //al_trace("Adding a subscreen item, ID: %d\n",newItem->id); //Logging stuff to remove, later.
3110 502659 newItem->subscreenItem=true;
3111 502659 Sitems.add(newItem);
3112 502659 }
3113
3114 /****/
3115 13112344 int32_t stripspaces(char *source, char *target, int32_t stop)
3116 {
3117 int32_t begin, end;
3118
3119
4/4
✓ Branch 0 taken 6222619 times.
✓ Branch 1 taken 75019272 times.
✓ Branch 2 taken 68129547 times.
✓ Branch 3 taken 13112344 times.
81241891 for(begin=0; ((begin<stop)&&(source[begin]==' ')); ++begin)
3120 {
3121 /* do nothing */
3122 68129547 }
3123
3124
2/2
✓ Branch 0 taken 6222619 times.
✓ Branch 1 taken 6889725 times.
13112344 if(begin==stop)
3125 {
3126 6222619 return 0;
3127 }
3128
3129
2/2
✓ Branch 0 taken 15631496 times.
✓ Branch 1 taken 6889725 times.
22521221 for(end=stop-1; source[end]==' '; --end)
3130 {
3131 /* do nothing */
3132 15631496 }
3133
3134 6889725 sprintf(target, "%.*s", (end-begin+1), source+begin);
3135 6889725 return (end-begin+1);
3136 13112344 }
3137
3138 bool findWeaponWithParent(int32_t id, int32_t type)
3139 {
3140 for (int32_t q = Lwpns.Count()-1; q >= 0; --q)
3141 {
3142 weapon *ew = (weapon*)(Lwpns.spr(q));
3143 if (ew->id != type || ew->parentitem != id) continue;
3144 return true;
3145 }
3146 return false;
3147 }
3148
3149 int32_t countWeaponWithParent(int32_t id, int32_t type)
3150 {
3151 int32_t count = 0;
3152 for (int32_t q = Lwpns.Count()-1; q >= 0; --q)
3153 {
3154 weapon *ew = (weapon*)(Lwpns.spr(q));
3155 if (ew->id != type || ew->parentitem != id) continue;
3156 ++count;
3157 }
3158 return count;
3159 }
3160
3161 // The conditions on which a subcreen item should be displayed.
3162 3613236 bool displaysubscreenitem(int32_t itemtype, int32_t d, int32_t id)
3163 {
3164
1/2
✓ Branch 0 taken 3613236 times.
✗ Branch 1 not taken.
3613236 if(game==NULL) //ZQuest
3165 return true;
3166
2/2
✓ Branch 0 taken 176356 times.
✓ Branch 1 taken 3436880 times.
3613236 if (get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) return true;
3167 //Okay, so the problem is that remote bombs are getting flagged with misc1 50, because
3168 //current item id is referring to your highest levelled item instead of the actual item.
3169 //Solution here is to have code for override items.
3170
2/2
✓ Branch 0 taken 1371 times.
✓ Branch 1 taken 3435509 times.
3436880 if (id < 0)
3171 {
3172
2/2
✓ Branch 0 taken 168670 times.
✓ Branch 1 taken 3266839 times.
3435509 if((itemtype == itype_bomb &&
3173 168670 !(game->get_bombs()
3174 // Remote Bombs: the bomb icon can still be used when an undetonated bomb is onscreen.
3175
3/4
✓ Branch 0 taken 1053 times.
✓ Branch 1 taken 167617 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 1053 times.
168670 || (itemsbuf[current_item_id(itype_bomb)].misc1==0 && Lwpns.idCount(wLitBomb)>0)
3176 1053 || current_item_power(itype_bombbag)))
3177
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1053 times.
✓ Branch 2 taken 75740 times.
✓ Branch 3 taken 3358716 times.
3435509 || (itemtype == itype_sbomb &&
3178 75740 !(game->get_sbombs()
3179
3/4
✓ Branch 0 taken 24082 times.
✓ Branch 1 taken 51658 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 24082 times.
75740 || (itemsbuf[current_item_id(itype_sbomb)].misc1==0 && Lwpns.idCount(wLitSBomb)>0)
3180 24082 || (current_item_power(itype_bombbag)
3181
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 24082 times.
24082 && itemsbuf[current_item_id(itype_bombbag)].flags & ITEM_FLAG1))))
3182 25135 return false;
3183
3184
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3410374 times.
3410374 if(itemtype!=itype_bowandarrow ||
3185 d!=itype_arrow ||
3186 ((get_bit(quest_rules,qr_TRUEARROWS)&&game->get_arrows()) ||
3187 (!get_bit(quest_rules,qr_TRUEARROWS)&&game->get_rupies())))
3188 3410374 return true;
3189
3190 return false;
3191 }
3192 else
3193 {
3194
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1371 times.
1371 if((itemtype == itype_bomb &&
3195 !(game->get_bombs()
3196 // Remote Bombs: the bomb icon can still be used when an undetonated bomb is onscreen.
3197 || (itemsbuf[id].misc1==0 && findWeaponWithParent(id, wLitBomb))
3198 || current_item_power(itype_bombbag)))
3199
1/4
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1371 times.
1371 || (itemtype == itype_sbomb &&
3200 !(game->get_sbombs()
3201 || (itemsbuf[id].misc1==0 && findWeaponWithParent(id, wLitSBomb))
3202 || (current_item_power(itype_bombbag)
3203 && itemsbuf[current_item_id(itype_bombbag)].flags & ITEM_FLAG1))))
3204 return false;
3205
3206
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1371 times.
1371 if(itemtype!=itype_bowandarrow ||
3207 d!=itype_arrow ||
3208 ((get_bit(quest_rules,qr_TRUEARROWS)&&game->get_arrows()) ||
3209 (!get_bit(quest_rules,qr_TRUEARROWS)&&game->get_rupies())))
3210 1371 return true;
3211
3212 return false;
3213 }
3214 3613236 }
3215
3216 304787 int32_t get_subscreenitem_id(int32_t itemtype, bool forceItem)
3217 {
3218
3/4
✓ Branch 0 taken 304787 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 304547 times.
✓ Branch 3 taken 240 times.
304787 if(forceItem && (itemtype & 0x8000))
3219 240 return itemtype&0xFFF;
3220 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3221 304547 int32_t overridecheck = 0xFFFF;
3222
3223
2/2
✓ Branch 0 taken 4146887 times.
✓ Branch 1 taken 11206 times.
4158093 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3224 {
3225
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4146887 times.
4146887 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3226 {
3227 if(overridecheck==0xFFFF)
3228 {
3229 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3230 }
3231 }
3232
2/2
✓ Branch 0 taken 11312 times.
✓ Branch 1 taken 4135575 times.
4146887 else if(Sitems.spr(i)->misc!=-1)
3233 {
3234 4135575 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3235
3236
2/2
✓ Branch 0 taken 3847136 times.
✓ Branch 1 taken 288439 times.
4135575 if((d==itemtype)||
3237
6/6
✓ Branch 0 taken 64836 times.
✓ Branch 1 taken 3782300 times.
✓ Branch 2 taken 612 times.
✓ Branch 3 taken 64224 times.
✓ Branch 4 taken 59934 times.
✓ Branch 5 taken 4902 times.
3847136 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3238
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3842234 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
3842234 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3239 {
3240 293341 return Sitems.spr(i)->id;
3241 }
3242 3842234 }
3243 3853546 }
3244
1/2
✓ Branch 0 taken 11206 times.
✗ Branch 1 not taken.
11206 if(forceItem)
3245 {
3246 11206 bool useLowestID = get_bit(quest_rules,qr_SUBSCR_BACKWARDS_ID_ORDER);
3247 11206 int32_t id = -1;
3248
2/2
✓ Branch 0 taken 154 times.
✓ Branch 1 taken 125350 times.
125504 for(auto q = 0; q < MAXITEMS; ++q)
3249 {
3250
2/2
✓ Branch 0 taken 114144 times.
✓ Branch 1 taken 11206 times.
125350 if(itemsbuf[q].family == itemtype)
3251 {
3252 11206 id = q;
3253
2/2
✓ Branch 0 taken 154 times.
✓ Branch 1 taken 11052 times.
11206 if(useLowestID) break;
3254 154 }
3255 114298 }
3256 11206 return id;
3257 }
3258
3259 //Item Override stuff here
3260 if((itemtype & 0x8000) &&
3261 (!game || game->item[itemtype&0xFFF])
3262 && !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3263 {
3264 return itemtype&0xFFF;
3265 }
3266 return -1;
3267 304787 }
3268
3269 item* get_subscreenitem(int32_t itemtype)
3270 {
3271 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3272 int32_t overridecheck = 0xFFFF;
3273
3274 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3275 {
3276 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3277 {
3278 if(overridecheck==0xFFFF)
3279 {
3280 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3281 }
3282 }
3283 else if(Sitems.spr(i)->misc!=-1)
3284 {
3285 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3286
3287 if((d==itemtype)||
3288 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3289 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3290 {
3291 return (item*)Sitems.spr(i);
3292 }
3293 }
3294 }
3295
3296 //Item Override stuff here
3297 if((itemtype & 0x8000) &&
3298 (!game || game->item[itemtype&0xFFF])
3299 && !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3300 {
3301 if(overridecheck == 0xFFFF)
3302 {
3303 overridecheck = Sitems.Count()-1;
3304 }
3305 return (item*)Sitems.spr(overridecheck);
3306 }
3307 return NULL;
3308 }
3309
3310
3311 5397775 void subscreenitem(BITMAP *dest, int32_t x, int32_t y, int32_t itemtype)
3312 {
3313 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3314 5397775 int32_t overridecheck = 0xFFFF;
3315
3316
2/2
✓ Branch 0 taken 1789173 times.
✓ Branch 1 taken 74470355 times.
76259528 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3317 {
3318
2/2
✓ Branch 0 taken 226774 times.
✓ Branch 1 taken 74243581 times.
74470355 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3319 {
3320
2/2
✓ Branch 0 taken 207578 times.
✓ Branch 1 taken 19196 times.
226774 if(overridecheck==0xFFFF)
3321 {
3322 //al_trace("Found an override item at subscreen.cpp linere 3084, id: %d\n",Sitems.spr(i)->id);
3323
3324
4/4
✓ Branch 0 taken 4610 times.
✓ Branch 1 taken 14586 times.
✓ Branch 2 taken 27 times.
✓ Branch 3 taken 4583 times.
19196 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3325 19196 }
3326 226774 }
3327
2/2
✓ Branch 0 taken 201787 times.
✓ Branch 1 taken 74041794 times.
74243581 else if(Sitems.spr(i)->misc!=-1)
3328 {
3329 74041794 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3330
3331
2/2
✓ Branch 0 taken 70591053 times.
✓ Branch 1 taken 3450741 times.
74041794 if((d==itemtype)||
3332
6/6
✓ Branch 0 taken 2228382 times.
✓ Branch 1 taken 68362671 times.
✓ Branch 2 taken 29949 times.
✓ Branch 3 taken 2198433 times.
✓ Branch 4 taken 157861 times.
✓ Branch 5 taken 2070521 times.
70591053 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3333
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 70433192 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
70433192 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3334 {
3335 3608602 Sitems.spr(i)->x = x;
3336 3608602 Sitems.spr(i)->y = y;
3337 3608602 Sitems.spr(i)->yofs=0;
3338
3339
2/2
✓ Branch 0 taken 25135 times.
✓ Branch 1 taken 3583467 times.
3608602 if(displaysubscreenitem(itemtype, d, -1))
3340 {
3341 3583467 Sitems.spr(i)->drawzcboss(dest);
3342 3583467 }
3343
3344
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3608602 times.
3608602 if(itemtype!=itype_bowandarrow)
3345 {
3346 3608602 return;
3347 }
3348 }
3349 70433192 }
3350 70861753 }
3351
3352 //Item Override stuff here
3353
3/4
✓ Branch 0 taken 1783278 times.
✓ Branch 1 taken 5895 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 4634 times.
1793807 if((itemtype & 0x8000) &&
3354
3/4
✓ Branch 0 taken 5895 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4634 times.
✓ Branch 3 taken 1261 times.
5895 (get_app_id() == App::zelda ? game->item[itemtype&0xFFF] : true) &&
3355 4634 !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3356 {
3357
2/2
✓ Branch 0 taken 4583 times.
✓ Branch 1 taken 51 times.
4634 if(overridecheck == 0xFFFF)
3358 {
3359 //al_trace("Found an override item at subscreen.cpp linere 3120, itemtype: %d\n",itemtype);
3360
3361
4/8
✓ Branch 0 taken 51 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 51 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 51 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 51 times.
✗ Branch 7 not taken.
51 add_subscr_item(new item((zfix)x,(zfix)y,(zfix)0,(itemtype&0xFFF),0,0));
3362 51 overridecheck = Sitems.Count()-1;
3363 51 Sitems.spr(overridecheck)->misc = -1;
3364 51 }
3365
3366 4634 Sitems.spr(overridecheck)->x = x;
3367 4634 Sitems.spr(overridecheck)->y = y;
3368 4634 Sitems.spr(overridecheck)->yofs=0;
3369 4634 Sitems.spr(overridecheck)->drawzcboss(dest);
3370 4634 }
3371 5397775 }
3372
3373 166685496 int32_t subscreen_color(miscQdata *misc, int32_t c1, int32_t c2)
3374 {
3375 int32_t ret;
3376
3377
3/3
✓ Branch 0 taken 54916700 times.
✓ Branch 1 taken 15003924 times.
✓ Branch 2 taken 96764872 times.
166685496 switch(c1)
3378 {
3379 case ssctSYSTEM:
3380
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 15003924 times.
15003924 ret=(c2==-1)?c2:vc(c2);
3381 15003924 break;
3382
3383 case ssctMISC:
3384
9/17
✗ Branch 0 not taken.
✓ Branch 1 taken 34597635 times.
✓ Branch 2 taken 7538247 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 6511827 times.
✓ Branch 10 taken 6511827 times.
✓ Branch 11 taken 34676177 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 44840 times.
✓ Branch 14 taken 14549 times.
✓ Branch 15 taken 171697 times.
✓ Branch 16 taken 6698073 times.
96764872 switch(c2)
3385 {
3386 case ssctTEXT:
3387 34597635 ret=misc->colors.text;
3388 34597635 break;
3389
3390 case ssctCAPTION:
3391 7538247 ret=misc->colors.caption;
3392 7538247 break;
3393
3394 case ssctOVERWBG:
3395 ret=misc->colors.overw_bg;
3396 break;
3397
3398 case ssctDNGNBG:
3399 ret=misc->colors.dngn_bg;
3400 break;
3401
3402 case ssctDNGNFG:
3403 ret=misc->colors.dngn_fg;
3404 break;
3405
3406 case ssctCAVEFG:
3407 ret=misc->colors.cave_fg;
3408 break;
3409
3410 case ssctBSDK:
3411 ret=misc->colors.bs_dk;
3412 break;
3413
3414 case ssctBSGOAL:
3415 ret=misc->colors.bs_goal;
3416 break;
3417
3418 case ssctCOMPASSLT:
3419 6511827 ret=misc->colors.compass_lt;
3420 6511827 break;
3421
3422 case ssctCOMPASSDK:
3423 6511827 ret=misc->colors.compass_dk;
3424 6511827 break;
3425
3426 case ssctSUBSCRBG:
3427 34676177 ret=misc->colors.subscr_bg;
3428 34676177 break;
3429
3430 case ssctSUBSCRSHADOW:
3431 ret=misc->colors.subscr_shadow;
3432 break;
3433
3434 case ssctTRIFRAMECOLOR:
3435 44840 ret=misc->colors.triframe_color;
3436 44840 break;
3437
3438 case ssctBMAPBG:
3439 14549 ret=misc->colors.bmap_bg;
3440 14549 break;
3441
3442 case ssctBMAPFG:
3443 171697 ret=misc->colors.bmap_fg;
3444 171697 break;
3445
3446 case ssctHERODOT:
3447 6698073 ret=misc->colors.hero_dot;
3448 6698073 break;
3449
3450 default:
3451 ret=(zc_oldrand()*1000)%256;
3452 break;
3453 }
3454
3455 96764872 break;
3456
3457 default:
3458 54916700 ret=(c1<<4)+c2;
3459 54916700 }
3460
3461 166685496 return ret;
3462 }
3463
3464
3465
3466 40498863 int32_t subscreen_cset(miscQdata *misc,int32_t c1, int32_t c2)
3467 {
3468 40498863 int32_t ret=c1;
3469
3470
2/2
✓ Branch 0 taken 28179589 times.
✓ Branch 1 taken 12319274 times.
40498863 switch(c1)
3471 {
3472 case ssctMISC:
3473
1/8
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 12319274 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
12319274 switch(c2)
3474 {
3475 case sscsTRIFORCECSET:
3476 ret=misc->colors.triforce_cset;
3477 break;
3478
3479 case sscsTRIFRAMECSET:
3480 ret=misc->colors.triframe_cset;
3481 break;
3482
3483 case sscsOVERWORLDMAPCSET:
3484 ret=misc->colors.overworld_map_cset;
3485 break;
3486
3487 case sscsDUNGEONMAPCSET:
3488 ret=misc->colors.dungeon_map_cset;
3489 break;
3490
3491 case sscsBLUEFRAMECSET:
3492 12319274 ret=misc->colors.blueframe_cset;
3493 12319274 break;
3494
3495 case sscsHCPIECESCSET:
3496 ret=misc->colors.HCpieces_cset;
3497 break;
3498
3499 case sscsSSVINECSET:
3500 ret=wpnsbuf[iwSubscreenVine].csets&15;
3501 break;
3502
3503 default:
3504 ret=(zc_oldrand()*1000)%256;
3505 break;
3506 }
3507
3508 12319274 break;
3509
3510 default:
3511 28179589 ret=c1;
3512 28179589 }
3513
3514 40498863 return ret;
3515 }
3516
3517 163161489 int32_t to_real_font(int32_t ss_font)
3518 {
3519
66/66
✓ Branch 0 taken 1992071 times.
✓ Branch 1 taken 1496117 times.
✓ Branch 2 taken 16494865 times.
✓ Branch 3 taken 2611385 times.
✓ Branch 4 taken 2466103 times.
✓ Branch 5 taken 2335860 times.
✓ Branch 6 taken 3385849 times.
✓ Branch 7 taken 86470469 times.
✓ Branch 8 taken 1684313 times.
✓ Branch 9 taken 3734730 times.
✓ Branch 10 taken 3098377 times.
✓ Branch 11 taken 1598512 times.
✓ Branch 12 taken 1661062 times.
✓ Branch 13 taken 1676840 times.
✓ Branch 14 taken 1676193 times.
✓ Branch 15 taken 1677959 times.
✓ Branch 16 taken 1676872 times.
✓ Branch 17 taken 1114046 times.
✓ Branch 18 taken 1035954 times.
✓ Branch 19 taken 1034815 times.
✓ Branch 20 taken 1033876 times.
✓ Branch 21 taken 1034513 times.
✓ Branch 22 taken 1035128 times.
✓ Branch 23 taken 947404 times.
✓ Branch 24 taken 716358 times.
✓ Branch 25 taken 716790 times.
✓ Branch 26 taken 883116 times.
✓ Branch 27 taken 804423 times.
✓ Branch 28 taken 691943 times.
✓ Branch 29 taken 691565 times.
✓ Branch 30 taken 691077 times.
✓ Branch 31 taken 691341 times.
✓ Branch 32 taken 541825 times.
✓ Branch 33 taken 541965 times.
✓ Branch 34 taken 470080 times.
✓ Branch 35 taken 459410 times.
✓ Branch 36 taken 359434 times.
✓ Branch 37 taken 382624 times.
✓ Branch 38 taken 360476 times.
✓ Branch 39 taken 359122 times.
✓ Branch 40 taken 359029 times.
✓ Branch 41 taken 359727 times.
✓ Branch 42 taken 359228 times.
✓ Branch 43 taken 359217 times.
✓ Branch 44 taken 550895 times.
✓ Branch 45 taken 359541 times.
✓ Branch 46 taken 359586 times.
✓ Branch 47 taken 472449 times.
✓ Branch 48 taken 382053 times.
✓ Branch 49 taken 382127 times.
✓ Branch 50 taken 382156 times.
✓ Branch 51 taken 383374 times.
✓ Branch 52 taken 382394 times.
✓ Branch 53 taken 397606 times.
✓ Branch 54 taken 383304 times.
✓ Branch 55 taken 382561 times.
✓ Branch 56 taken 381426 times.
✓ Branch 57 taken 395678 times.
✓ Branch 58 taken 382643 times.
✓ Branch 59 taken 383393 times.
✓ Branch 60 taken 382690 times.
✓ Branch 61 taken 382430 times.
✓ Branch 62 taken 382927 times.
✓ Branch 63 taken 381326 times.
✓ Branch 64 taken 383801 times.
✓ Branch 65 taken 1115066 times.
163161489 switch(ss_font)
3520 {
3521 1992071 case ssfSMALL: return font_sfont;
3522 1496117 case ssfSMALLPROP: return font_spfont;
3523 16494865 case ssfSS1: return font_ssfont1;
3524 2611385 case ssfSS2: return font_ssfont2;
3525 2466103 case ssfSS3: return font_ssfont3;
3526 2335860 case ssfSS4: return font_ssfont4;
3527 3385849 case ssfZTIME: return font_ztfont;
3528 86470469 case ssfZELDA: return font_zfont;
3529 1684313 case ssfZ3: return font_z3font;
3530 3734730 case ssfZ3SMALL: return font_z3smallfont;
3531 3098377 case ssfGBLA: return font_gblafont;
3532 1598512 case ssfGORON: return font_goronfont;
3533 1661062 case ssfZORAN: return font_zoranfont;
3534 1676840 case ssfHYLIAN1: return font_hylian1font;
3535 1676193 case ssfHYLIAN2: return font_hylian2font;
3536 1677959 case ssfHYLIAN3: return font_hylian3font;
3537 1676872 case ssfHYLIAN4: return font_hylian4font;
3538 1114046 case ssfGBORACLE: return font_gboraclefont;
3539 1035954 case ssfGBORACLEP: return font_gboraclepfont;
3540 1034815 case ssfDSPHANTOM: return font_dsphantomfont;
3541 1033876 case ssfDSPHANTOMP: return font_dsphantompfont;
3542 1034513 case ssfAT800: return font_atari800font;
3543 1035128 case ssfACORN: return font_acornfont;
3544 947404 case ssADOS: return font_adosfont;
3545 716358 case ssfALLEG: return font_baseallegrofont;
3546 716790 case ssfAPL2: return font_apple2font;
3547 883116 case ssfAPL280: return font_apple280colfont;
3548 804423 case ssfAPL2GS: return font_apple2gsfont;
3549 691943 case ssfAQUA: return font_aquariusfont;
3550 691565 case ssfAT400: return font_atari400font;
3551 691077 case ssfC64: return font_c64font;
3552 691341 case ssfC64HR: return font_c64hiresfont;
3553 541825 case ssfCGA: return font_cgafont;
3554 541965 case ssfCOCO: return font_cocofont;
3555 470080 case ssfCOCO2: return font_coco2font;
3556 459410 case ssfCOUPE: return font_coupefont;
3557 359434 case ssfCPC: return font_cpcfont;
3558 382624 case ssfFANTASY: return font_fantasyfont;
3559 360476 case ssfFDSKANA: return font_fdskanafont;
3560 359122 case ssfFDSLIKE: return font_fdslikefont;
3561 359029 case ssfFDSROM: return font_fdsromanfont;
3562 359727 case ssfFF: return font_finalffont;
3563 359228 case ssfFUTHARK: return font_futharkfont;
3564 359217 case ssfGAIA: return font_gaiafont;
3565 550895 case ssfHIRA: return font_hirafont;
3566 359541 case ssfJP: return font_jpfont;
3567 359586 case ssfKONG: return font_kongfont;
3568 472449 case ssfMANA: return font_manafont;
3569 382053 case ssfML: return font_mlfont;
3570 382127 case ssfMOT: return font_motfont;
3571 382156 case ssfMSX0: return font_msxmode0font;
3572 383374 case ssfMSX1: return font_msxmode1font;
3573 382394 case ssfPET: return font_petfont;
3574 397606 case ssfPSTART: return font_pstartfont;
3575 383304 case ssfSATURN: return font_saturnfont;
3576 382561 case ssfSCIFI: return font_scififont;
3577 381426 case ssfSHERW: return font_sherwoodfont;
3578 395678 case ssfSINQL: return font_sinqlfont;
3579 382643 case ssfSPEC: return font_spectrumfont;
3580 383393 case ssfSPECLG: return font_speclgfont;
3581 382690 case ssfTI99: return font_ti99font;
3582 382430 case ssfTRS: return font_trsfont;
3583 382927 case ssfZ2: return font_z2font;
3584 381326 case ssfZX: return font_zxfont;
3585 383801 case ssfLISA: return font_lisafont;
3586 }
3587 1115066 return font_zfont;
3588 163161489 }
3589 int32_t to_ss_font(int32_t real_font)
3590 {
3591 switch(real_font)
3592 {
3593 case font_sfont: return ssfSMALL;
3594 case font_spfont: return ssfSMALLPROP;
3595 case font_ssfont1: return ssfSS1;
3596 case font_ssfont2: return ssfSS2;
3597 case font_ssfont3: return ssfSS3;
3598 case font_ssfont4: return ssfSS4;
3599 case font_ztfont: return ssfZTIME;
3600 case font_zfont: return ssfZELDA;
3601 case font_z3font: return ssfZ3;
3602 case font_z3smallfont: return ssfZ3SMALL;
3603 case font_gblafont: return ssfGBLA;
3604 case font_goronfont: return ssfGORON;
3605 case font_zoranfont: return ssfZORAN;
3606 case font_hylian1font: return ssfHYLIAN1;
3607 case font_hylian2font: return ssfHYLIAN2;
3608 case font_hylian3font: return ssfHYLIAN3;
3609 case font_hylian4font: return ssfHYLIAN4;
3610 case font_gboraclefont: return ssfGBORACLE;
3611 case font_gboraclepfont: return ssfGBORACLEP;
3612 case font_dsphantomfont: return ssfDSPHANTOM;
3613 case font_dsphantompfont: return ssfDSPHANTOMP;
3614 case font_atari800font: return ssfAT800;
3615 case font_acornfont: return ssfACORN;
3616 case font_adosfont: return ssADOS;
3617 case font_baseallegrofont: return ssfALLEG;
3618 case font_apple2font: return ssfAPL2;
3619 case font_apple280colfont: return ssfAPL280;
3620 case font_apple2gsfont: return ssfAPL2GS;
3621 case font_aquariusfont: return ssfAQUA;
3622 case font_atari400font: return ssfAT400;
3623 case font_c64font: return ssfC64;
3624 case font_c64hiresfont: return ssfC64HR;
3625 case font_cgafont: return ssfCGA;
3626 case font_cocofont: return ssfCOCO;
3627 case font_coco2font: return ssfCOCO2;
3628 case font_coupefont: return ssfCOUPE;
3629 case font_cpcfont: return ssfCPC;
3630 case font_fantasyfont: return ssfFANTASY;
3631 case font_fdskanafont: return ssfFDSKANA;
3632 case font_fdslikefont: return ssfFDSLIKE;
3633 case font_fdsromanfont: return ssfFDSROM;
3634 case font_finalffont: return ssfFF;
3635 case font_futharkfont: return ssfFUTHARK;
3636 case font_gaiafont: return ssfGAIA;
3637 case font_hirafont: return ssfHIRA;
3638 case font_jpfont: return ssfJP;
3639 case font_kongfont: return ssfKONG;
3640 case font_manafont: return ssfMANA;
3641 case font_mlfont: return ssfML;
3642 case font_motfont: return ssfMOT;
3643 case font_msxmode0font: return ssfMSX0;
3644 case font_msxmode1font: return ssfMSX1;
3645 case font_petfont: return ssfPET;
3646 case font_pstartfont: return ssfPSTART;
3647 case font_saturnfont: return ssfSATURN;
3648 case font_scififont: return ssfSCIFI;
3649 case font_sherwoodfont: return ssfSHERW;
3650 case font_sinqlfont: return ssfSINQL;
3651 case font_spectrumfont: return ssfSPEC;
3652 case font_speclgfont: return ssfSPECLG;
3653 case font_ti99font: return ssfTI99;
3654 case font_trsfont: return ssfTRS;
3655 case font_z2font: return ssfZ2;
3656 case font_zxfont: return ssfZX;
3657 case font_lisafont: return ssfLISA;
3658 }
3659 return ssfZELDA;
3660 }
3661
3662 163161489 FONT *ss_font(int32_t fontnum)
3663 {
3664
2/2
✓ Branch 0 taken 139419030 times.
✓ Branch 1 taken 23742459 times.
163161489 if(unsigned(fontnum) >= ssfMAX)
3665 23742459 fontnum=zc_oldrand()%ssfMAX;
3666
3667 163161489 return get_zc_font(to_real_font(fontnum));
3668 }
3669 item *sel_a=NULL, *sel_b=NULL;
3670
3671
3672 726 void delete_selectors()
3673 {
3674
2/2
✓ Branch 0 taken 31 times.
✓ Branch 1 taken 695 times.
726 if(sel_a)
3675 {
3676
1/2
✓ Branch 0 taken 695 times.
✗ Branch 1 not taken.
695 delete sel_a;
3677 695 sel_a=NULL;
3678 695 }
3679
3680
2/2
✓ Branch 0 taken 31 times.
✓ Branch 1 taken 695 times.
726 if(sel_b)
3681 {
3682
1/2
✓ Branch 0 taken 695 times.
✗ Branch 1 not taken.
695 delete sel_b;
3683 695 sel_b=NULL;
3684 695 }
3685 726 }
3686
3687
3688 197592 void animate_selectors()
3689 {
3690
2/2
✓ Branch 0 taken 196866 times.
✓ Branch 1 taken 726 times.
197592 if(new_sel)
3691 {
3692 726 delete_selectors();
3693 726 new_sel = false;
3694 726 }
3695
3696
2/2
✓ Branch 0 taken 196866 times.
✓ Branch 1 taken 726 times.
197592 if(!sel_a)
3697
4/8
✓ Branch 0 taken 726 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 726 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 726 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 726 times.
✗ Branch 7 not taken.
726 sel_a = new item((zfix)0, (zfix)0, (zfix)0, iSelectA, 0, 0);
3698
3699
2/2
✓ Branch 0 taken 196866 times.
✓ Branch 1 taken 726 times.
197592 if(!sel_b)
3700
4/8
✓ Branch 0 taken 726 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 726 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 726 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 726 times.
✗ Branch 7 not taken.
726 sel_b = new item((zfix)0, (zfix)0, (zfix)0, iSelectB, 0, 0);
3701
3702 197592 sel_a->yofs=0;
3703 197592 sel_a->subscreenItem=true;
3704 197592 sel_a->animate(0);
3705 197592 sel_b->yofs=0;
3706 197592 sel_b->subscreenItem=true;
3707 197592 sel_b->animate(0);
3708 197592 }
3709
3710 7444401 void show_custom_subscreen(BITMAP *dest, miscQdata *misc, subscreen_group *css, int32_t xofs, int32_t yofs, bool showtime, int32_t pos2)
3711 {
3712 //this is not a good place to be clearing the bitmap
3713 //other stuff might already have been drawn on it that needs to be kept
3714 //(eg the game screen when pulling down the subscreen) -DD
3715 //clear_to_color(dest, 0);
3716 7444401 color_map=&trans_table;
3717 7444401 set_trans_blender(0, 0, 0, 128);
3718
3719 //doing animation here leads to 2x speed when drawing both active and passive subscreen -DD
3720 /*static item sel_a((zfix)0,(zfix)0,(zfix)0,iSelectA,0,0);
3721 static item sel_b((zfix)0,(zfix)0,(zfix)0,iSelectB,0,0);
3722 if (new_sel)
3723 {
3724 sel_a=item((zfix)0,(zfix)0,(zfix)0,iSelectA,0,0);
3725 sel_b=item((zfix)0,(zfix)0,(zfix)0,iSelectB,0,0);
3726 new_sel=false;
3727 }
3728 sel_a.yofs=0;
3729 sel_a.animate(0);
3730 sel_b.yofs=0;
3731 sel_b.animate(0);*/
3732
3/4
✓ Branch 0 taken 7444370 times.
✓ Branch 1 taken 31 times.
✓ Branch 2 taken 7444370 times.
✗ Branch 3 not taken.
7444401 if(!sel_a || !sel_b)
3733 31 animate_selectors();
3734
3735
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 171364710 times.
✓ Branch 2 taken 163920309 times.
✓ Branch 3 taken 7444401 times.
171364710 for(int32_t i=0; i<MAXSUBSCREENITEMS&&css->objects[i].type>ssoNULL; ++i)
3736 {
3737
2/2
✓ Branch 0 taken 758820 times.
✓ Branch 1 taken 163161489 times.
163920309 if((css->objects[i].pos & pos2) != 0)
3738 {
3739 163161489 FONT *tempfont=get_zc_font(font_zfont);
3740 163161489 int32_t fontnum=css->objects[i].d1;
3741 163161489 tempfont=ss_font(fontnum);
3742 163161489 int32_t x=css->objects[i].x+xofs;
3743 163161489 int32_t y=css->objects[i].y+yofs;
3744
3745
22/26
✓ Branch 0 taken 5973702 times.
✓ Branch 1 taken 304787 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 14229135 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 20911164 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 327258 times.
✓ Branch 8 taken 1829921 times.
✓ Branch 9 taken 5993639 times.
✓ Branch 10 taken 14344845 times.
✓ Branch 11 taken 4612972 times.
✓ Branch 12 taken 14213506 times.
✓ Branch 13 taken 6556172 times.
✓ Branch 14 taken 6556172 times.
✓ Branch 15 taken 186246 times.
✓ Branch 16 taken 6800297 times.
✓ Branch 17 taken 5602038 times.
✓ Branch 18 taken 64020 times.
✓ Branch 19 taken 645 times.
✓ Branch 20 taken 33149 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 13084272 times.
✓ Branch 23 taken 13185456 times.
✓ Branch 24 taken 9563061 times.
✓ Branch 25 taken 18789032 times.
163161489 switch(css->objects[i].type)
3746 {
3747 case sso2X2FRAME:
3748 {
3749 //al_trace("2x2 Frame tile is: %d\n",css->objects[i].d1);
3750 //in 1.92 and earlier, the 2x2 frame object was tile 278
3751 14229135 frame2x2(dest, misc, x, y, css->objects[i].d1, subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1), css->objects[i].w, css->objects[i].h, css->objects[i].d2, css->objects[i].d3 != 0, css->objects[i].d4 != 0);
3752 //frame2x2(dest, misc, x, y, FFCore.getQuestHeaderInfo(vZelda) < 0x193 ? 278 : css->objects[i].d1, subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1), css->objects[i].w, css->objects[i].h, css->objects[i].d2, css->objects[i].d3 != 0, css->objects[i].d4 != 0);
3753 }
3754 14229135 break;
3755
3756 case ssoBSTIME:
3757 {
3758 char *ts;
3759
3760 if(game)
3761 ts = time_str_short2(game->get_time());
3762 else
3763 ts = time_str_short2(0);
3764
3765 //textout_shadowed_ex(dest,tempfont,ts,x,y,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3766 textout_styled_aligned_ex(dest,tempfont,ts,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3767 }
3768 break;
3769
3770 case ssoSSTIME:
3771 case ssoTIME:
3772 {
3773
3/4
✓ Branch 0 taken 5973702 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 15980 times.
✓ Branch 3 taken 5957722 times.
5973702 if(showtime||css->objects[i].type==ssoTIME)
3774 {
3775 char *ts;
3776
3777
1/2
✓ Branch 0 taken 15980 times.
✗ Branch 1 not taken.
15980 if(game)
3778 15980 ts = time_str_med(game->get_time());
3779 else
3780 ts = time_str_med(0);
3781
3782 //textout_right_ex(dest,tempfont,ts,x,y,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2));
3783 15980 textout_styled_aligned_ex(dest,tempfont,ts,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3784 15980 }
3785 }
3786 5973702 break;
3787
3788 case ssoTEXT:
3789 {
3790 //textout_styled_aligned_ex(bmp, f, s, x,y,textstyle, alignment, color, shadow, bg)
3791 20911164 textout_styled_aligned_ex(dest,tempfont,(char *)css->objects[i].dp1,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3792 }
3793 20911164 break;
3794
3795 case ssoLINE:
3796 {
3797 if(css->objects[i].d4)
3798 {
3799 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
3800 }
3801
3802 line(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1));
3803
3804 if(css->objects[i].d4)
3805 {
3806 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
3807 }
3808 }
3809 break;
3810
3811 case ssoRECT:
3812 {
3813
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 327258 times.
327258 if(css->objects[i].d2)
3814 {
3815 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
3816 }
3817
3818
1/2
✓ Branch 0 taken 327258 times.
✗ Branch 1 not taken.
327258 if(css->objects[i].d1!=0)
3819 {
3820 327258 rectfill(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2));
3821 327258 }
3822
3823 327258 rect(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1));
3824
3825
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 327258 times.
327258 if(css->objects[i].d2)
3826 {
3827 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
3828 }
3829 }
3830 327258 break;
3831
3832 case ssoMAGICMETER:
3833 {
3834 1829921 magicmeter(dest, x, y);
3835 }
3836 1829921 break;
3837
3838 case ssoLIFEMETER:
3839 {
3840 //lifemeter(dest, x, y, css->objects[i].d1, css->objects[i].d2 != 0);
3841 5993639 lifemeter(dest, x, y, 1, css->objects[i].d2 != 0);
3842 }
3843 5993639 break;
3844
3845 case ssoBUTTONITEM:
3846 {
3847
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 14344845 times.
14344845 if(css->objects[i].d2)
3848 {
3849 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
3850 }
3851 //zprint2("Button item ID is: %d\n", css->objects[i].d1);
3852 14344845 buttonitem(dest, css->objects[i].d1, x, y);
3853
3854
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 14344845 times.
14344845 if(css->objects[i].d2)
3855 {
3856 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
3857 }
3858 }
3859 14344845 break;
3860
3861 case ssoCOUNTERS:
3862 {
3863 4612972 defaultcounters(dest, x, y, tempfont,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3),css->objects[i].d2 != 0,css->objects[i].d3,css->objects[i].d4,css->objects[i].d5);
3864 }
3865 4612972 break;
3866
3867 case ssoCOUNTER:
3868 {
3869 14213506 counter(dest, x, y, tempfont,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3),css->objects[i].d2,css->objects[i].d3,css->objects[i].d4,css->objects[i].d5,css->objects[i].d6&1, css->objects[i].d7, css->objects[i].d8, css->objects[i].d9, css->objects[i].d10, (css->objects[i].d6&2)!=0);
3870 }
3871 14213506 break;
3872
3873 case ssoMINIMAPTITLE:
3874 {
3875
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 6556172 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
6556172 if(!css->objects[i].d4 || has_item(itype_map, get_dlevel()))
3876 {
3877 6556172 minimaptitle(dest, x, y, tempfont, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3), css->objects[i].d2, css->objects[i].d3);
3878 6556172 }
3879 }
3880 6556172 break;
3881
3882 case ssoMINIMAP:
3883 {
3884 //drawdmap(dest, misc, x, y, showmap, showhero, showcompass, herocolor, lccolor, dccolor)
3885
1/2
✓ Branch 0 taken 6556172 times.
✗ Branch 1 not taken.
13112344 drawdmap(dest, misc, x, y, css->objects[i].d1 != 0, css->objects[i].d2 && !(TheMaps[(DMaps[get_currdmap()].map*MAPSCRS)+get_homescr()].flags7&fNOHEROMARK),
3886
1/2
✓ Branch 0 taken 6556172 times.
✗ Branch 1 not taken.
6556172 css->objects[i].d3 && !(DMaps[get_currdmap()].flags&dmfNOCOMPASS), subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3887 }
3888 6556172 break;
3889
3890 case ssoLARGEMAP:
3891 {
3892 //putBmap(dest, misc, x, y, showmap, showhero, showrooms, roomcolor, herocolor, large)
3893 186246 putBmap(dest, misc, x, y, css->objects[i].d1 != 0, css->objects[i].d2!=0, css->objects[i].d3!=0, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), css->objects[i].d10 != 0);
3894 }
3895 186246 break;
3896
3897 case ssoCLEAR:
3898 {
3899 6800297 clear_to_color(dest,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1));
3900 }
3901 6800297 break;
3902
3903 case ssoCURRENTITEM:
3904 {
3905 // Shouldn't really be checking is_zquest here, but it's okay for now...
3906
3/6
✓ Branch 0 taken 204263 times.
✓ Branch 1 taken 5397775 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 204263 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
5602038 if(css->objects[i].d2 || (is_zquest() && (zinit.ss_flags&ssflagSHOWINVIS)!=0))
3907 {
3908
2/2
✓ Branch 0 taken 5895 times.
✓ Branch 1 taken 5391880 times.
5397775 subscreenitem(dest, x, y, css->objects[i].d8>0 ? ((css->objects[i].d8-1) | 0x8000) : css->objects[i].d1);
3909 5397775 }
3910 }
3911 5602038 break;
3912
3913 case ssoTEXTBOX:
3914 {
3915 //draw_textbox(dest, x, y, w, h, tempfont, thetext, wword, tabsize, alignment, textstyle, color, shadowcolor, backcolor)
3916 64020 draw_textbox(dest, x, y, css->objects[i].w, css->objects[i].h, tempfont, (char *)css->objects[i].dp1, css->objects[i].d4!=0, css->objects[i].d5, css->objects[i].d2, css->objects[i].d3, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3917 //draw_textbox(dest, 0, 0, 200, 50, get_zc_font(font_sfont), "This is a test", 1, 4, 0, 0, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3918 }
3919 64020 break;
3920
3921 case ssoSELECTEDITEMNAME:
3922 {
3923 645 int32_t itemid=Bweapon(Bpos);
3924
3925 // If it's a combined bow and arrow, the item ID will have 0xF000 added.
3926
1/2
✓ Branch 0 taken 645 times.
✗ Branch 1 not taken.
645 if(itemid>=0xF000)
3927 itemid-=0xF000;
3928
3929 // 0 can mean either the item with index 0 is selected or there's no
3930 // valid item to select, so be sure Hero has whatever it would be.
3931
1/2
✓ Branch 0 taken 645 times.
✗ Branch 1 not taken.
645 if(!game->get_item(itemid))
3932 break;
3933
3934 645 char itemname[140]="";
3935 645 sprintf(itemname, "%s", item_string[itemid]);
3936 645 itemdata const& itm = itemsbuf[itemid];
3937
1/3
✓ Branch 0 taken 645 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
645 switch(itm.family)
3938 {
3939 case itype_arrow:
3940 if(Bitem && Bitem->dummy_bool[0]==true) //if we also have a bow
3941 {
3942 if(current_item_id(itype_bow)>-1)
3943 {
3944 bool hasarrows=checkmagiccost(itemid);
3945 sprintf(itemname, "%s%s%s", item_string[current_item_id(itype_bow)], hasarrows?" & ":"",hasarrows?item_string[Bitem->id]:"");
3946 }
3947 }
3948 break;
3949 case itype_bottle:
3950 if(size_t bind = game->get_bottle_slot(itemsbuf[itemid].misc1))
3951 {
3952 char const* btype_name = QMisc.bottle_types[bind-1].name;
3953 if(btype_name[0])
3954 {
3955 sprintf(itemname, "%s", btype_name);
3956 }
3957 }
3958 }
3959
3960 645 draw_textbox(dest, x, y, css->objects[i].w, css->objects[i].h, tempfont, itemname, css->objects[i].d4!=0, css->objects[i].d5, css->objects[i].d2, css->objects[i].d3, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3961 // draw_textbox(dest, x, y, w, h, tempfont, thetext, wword, tabsize, alignment, textstyle, color, shadowcolor, backcolor);
3962 }
3963 645 break;
3964
3965 case ssoTRIFRAME:
3966 {
3967 //puttriframe(dest, misc, x, y, triframecolor, numbercolor, triframetile, triframecset, triforcetile, triforcecset, showframe, showpieces, largepieces)
3968 33149 puttriframe(dest, misc, x, y, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), css->objects[i].d1, css->objects[i].d2, css->objects[i].d3, css->objects[i].d4, css->objects[i].d5!=0, css->objects[i].d6!=0, css->objects[i].d7!=0);
3969 }
3970 33149 break;
3971
3972 case ssoTRIFORCE:
3973 {
3974 puttriforce(dest,misc,x,y,css->objects[i].d1,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3!=0,css->objects[i].d4!=0,css->objects[i].d5);
3975 }
3976 break;
3977
3978 case ssoTILEBLOCK:
3979 {
3980 13084272 draw_block_flip(dest,x,y,css->objects[i].d1,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3!=0,css->objects[i].d4!=0);
3981 }
3982 13084272 break;
3983
3984 case ssoMINITILE:
3985 {
3986 13185456 int32_t t=css->objects[i].d1;
3987
3988
1/2
✓ Branch 0 taken 13185456 times.
✗ Branch 1 not taken.
13185456 if(t==-1)
3989 {
3990 switch(css->objects[i].d2)
3991 {
3992 case ssmstSSVINETILE:
3993 t=wpnsbuf[iwSubscreenVine].tile*4;
3994 break;
3995
3996 case ssmstMAGICMETER:
3997 t=wpnsbuf[iwMMeter].tile*4;
3998 break;
3999
4000 default:
4001 t=(zc_oldrand()*100000)%32767;
4002 break;
4003 }
4004 }
4005
4006 13185456 t+=css->objects[i].d3;
4007
4008
2/2
✓ Branch 0 taken 9721568 times.
✓ Branch 1 taken 3463888 times.
13185456 if(css->objects[i].d5)
4009 {
4010
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 9721568 times.
9721568 if(css->objects[i].d6)
4011 {
4012 overtiletranslucent8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4,128);
4013 }
4014 else
4015 {
4016 9721568 overtile8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4);
4017 }
4018 9721568 }
4019 else
4020 {
4021
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3463888 times.
3463888 if(css->objects[i].d6)
4022 {
4023 puttiletranslucent8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4,128);
4024 }
4025 else
4026 {
4027 3463888 oldputtile8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4);
4028 }
4029 }
4030 }
4031 13185456 break;
4032
4033 case ssoSELECTOR1:
4034 case ssoSELECTOR2:
4035 {
4036 304787 int32_t p=-1;
4037
4038
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 8710790 times.
✓ Branch 2 taken 498 times.
✓ Branch 3 taken 8710292 times.
8710790 for(int32_t j=0; j<MAXSUBSCREENITEMS&&css->objects[j].type!=ssoNULL; ++j)
4039 {
4040
2/2
✓ Branch 0 taken 2455581 times.
✓ Branch 1 taken 6254711 times.
8710292 if(css->objects[j].type==ssoCURRENTITEM)
4041 {
4042
2/2
✓ Branch 0 taken 5950422 times.
✓ Branch 1 taken 304289 times.
6254711 if(css->objects[j].d3==(int32_t)Bpos)
4043 {
4044 304289 p=j;
4045 304289 break;
4046 }
4047 5950422 }
4048 8406003 }
4049
4050 304787 bool big_sel=css->objects[i].d5 != 0;
4051
2/2
✓ Branch 0 taken 197063 times.
✓ Branch 1 taken 107724 times.
304787 item *tempsel=(css->objects[i].type==ssoSELECTOR1)?sel_a:sel_b;
4052 304787 int32_t temptile=tempsel->tile;
4053 304787 tempsel->drawstyle=0;
4054
4055
1/2
✓ Branch 0 taken 304787 times.
✗ Branch 1 not taken.
304787 if(css->objects[i].d4)
4056 {
4057 tempsel->drawstyle=1;
4058 }
4059
2/2
✓ Branch 0 taken 240 times.
✓ Branch 1 taken 304547 times.
304787 int32_t itemtype = css->objects[p].d8>0 ? ((css->objects[p].d8-1) | 0x8000) : css->objects[p].d1;
4060 304787 itemdata const& tmpitm = itemsbuf[get_subscreenitem_id(itemtype, true)];
4061 304787 bool oldsel = get_bit(quest_rules, qr_SUBSCR_OLD_SELECTOR);
4062
2/2
✓ Branch 0 taken 298107 times.
✓ Branch 1 taken 6680 times.
304787 if(!oldsel) big_sel = false;
4063
5/6
✓ Branch 0 taken 298107 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 297462 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
304787 int32_t sw = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : (tempsel->extend > 2 ? tempsel->hxsz : 16),
4064
5/6
✓ Branch 0 taken 298107 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 297462 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
304787 sh = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : (tempsel->extend > 2 ? tempsel->hysz : 16),
4065
5/6
✓ Branch 0 taken 298107 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 297462 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
304787 dw = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_WIDTH) ? tmpitm.hxsz : 16),
4066
5/6
✓ Branch 0 taken 298107 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 297462 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
304787 dh = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_HEIGHT) ? tmpitm.hysz : 16);
4067
3/4
✓ Branch 0 taken 298107 times.
✓ Branch 1 taken 6680 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6680 times.
304787 int32_t sxofs = oldsel ? 0 : (tempsel->extend > 2 ? tempsel->hxofs : 0),
4068
3/4
✓ Branch 0 taken 298107 times.
✓ Branch 1 taken 6680 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6680 times.
304787 syofs = oldsel ? 0 : (tempsel->extend > 2 ? tempsel->hyofs : 0),
4069
6/8
✓ Branch 0 taken 298107 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 297462 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 6680 times.
304787 dxofs = oldsel ? (tempsel->extend > 2 ? (int)tempsel->xofs : 0) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_X_OFFSET) ? tmpitm.hxofs : 0) + (tempsel->extend > 2 ? (int)tempsel->xofs : 0),
4070
6/8
✓ Branch 0 taken 298107 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 297462 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 6680 times.
304787 dyofs = oldsel ? (tempsel->extend > 2 ? (int)tempsel->yofs : 0) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_Y_OFFSET) ? tmpitm.hyofs : 0) + (tempsel->extend > 2 ? (int)tempsel->yofs : 0);
4071 304787 BITMAP* tmpbmp = create_bitmap_ex(8,sw,sh);
4072
2/2
✓ Branch 0 taken 498 times.
✓ Branch 1 taken 306281 times.
306779 for(int32_t j=0; j<4; ++j)
4073 {
4074 306281 clear_bitmap(tmpbmp);
4075
2/2
✓ Branch 0 taken 1992 times.
✓ Branch 1 taken 304289 times.
306281 if(p!=-1)
4076 {
4077 304289 tempsel->x=0;
4078 304289 tempsel->y=0;
4079
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 304289 times.
304289 int32_t tmpx = css->objects[p].x+xofs+(big_sel?(j%2?8:-8):0);
4080
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 304289 times.
304289 int32_t tmpy = css->objects[p].y+yofs+(big_sel?(j>1?8:-8):0);
4081
2/2
✓ Branch 0 taken 134775 times.
✓ Branch 1 taken 169514 times.
304289 tempsel->tile+=(zc_max(itemsbuf[tempsel->id].frames,1)*j);
4082
4083
2/2
✓ Branch 0 taken 84249 times.
✓ Branch 1 taken 220040 times.
304289 if(temptile)
4084 {
4085 220040 tempsel->drawzcboss(tmpbmp);
4086 220040 tempsel->tile=temptile;
4087 220040 }
4088 304289 masked_stretch_blit(tmpbmp, dest, vbound(sxofs, 0, sw), vbound(syofs, 0, sh), sw-vbound(sxofs, 0, sw), sh-vbound(syofs, 0, sh), tmpx+dxofs, tmpy+dyofs, dw, dh);
4089
4090
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 304289 times.
304289 if(!big_sel)
4091 {
4092 304289 break;
4093 }
4094 }
4095 1992 }
4096 304787 destroy_bitmap(tmpbmp);
4097 }
4098 304787 break;
4099
4100 case ssoMAGICGAUGE:
4101 {
4102 // void magicgauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
4103 // int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last,
4104 // int32_t show)
4105 19126122 magicgauge(dest,x,y, css->objects[i].d1, css->objects[i].d2, css->objects[i].colortype1, ((css->objects[i].d10&1)?1:0), css->objects[i].d3, css->objects[i].color1, ((css->objects[i].d10&2)?1:0),
4106 9563061 css->objects[i].d4, css->objects[i].colortype2, ((css->objects[i].d10&4)?1:0), css->objects[i].d5, css->objects[i].color2, ((css->objects[i].d10&8)?1:0), css->objects[i].d6, css->objects[i].d7, css->objects[i].d8, ((css->objects[i].d10&16)?1:0),
4107 9563061 css->objects[i].d9);
4108 }
4109 9563061 break;
4110
4111 case ssoLIFEGAUGE:
4112 {
4113 37578064 lifegauge(dest,x,y, css->objects[i].d1, css->objects[i].d2, css->objects[i].colortype1, ((css->objects[i].d10&1)?1:0), css->objects[i].d3, css->objects[i].color1, ((css->objects[i].d10&2)?1:0),
4114 18789032 css->objects[i].d4, css->objects[i].colortype2, ((css->objects[i].d10&4)?1:0), css->objects[i].d5, css->objects[i].color2, ((css->objects[i].d10&8)?1:0), css->objects[i].d6, css->objects[i].d7, css->objects[i].d8, ((css->objects[i].d10&16)?1:0));
4115 }
4116 18789032 break;
4117
4118 default:
4119 {
4120 }
4121 break;
4122 }
4123
4124 //sso_bounding_box(dest, css, i, vc(15));
4125 163161489 }
4126 163920309 }
4127 7444401 }
4128
4129
4130 14344845 void buttonitem(BITMAP *dest, int32_t button, int32_t x, int32_t y)
4131 {
4132
4/5
✗ Branch 0 not taken.
✓ Branch 1 taken 7086882 times.
✓ Branch 2 taken 7089113 times.
✓ Branch 3 taken 84425 times.
✓ Branch 4 taken 84425 times.
14344845 switch(button)
4133 {
4134 case 0: //A button
4135
4/4
✓ Branch 0 taken 7000726 times.
✓ Branch 1 taken 86156 times.
✓ Branch 2 taken 9927 times.
✓ Branch 3 taken 6990799 times.
7086882 if(Aitem&&show_subscreen_items)
4136 {
4137 6990799 Aitem->x=x;
4138 6990799 Aitem->y=y;
4139
4140
1/2
✓ Branch 0 taken 6990799 times.
✗ Branch 1 not taken.
6990799 switch(itemsbuf[Aitem->id].family)
4141 {
4142 case itype_arrow:
4143 if(Aitem->dummy_bool[0]==true)
4144 {
4145 if(current_item_id(itype_bow)>-1)
4146 {
4147 subscreenitem(dest, x, y, itype_bow);
4148 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4149 if(!checkmagiccost(Aitem->id)) return;
4150 }
4151 }
4152
4153 break;
4154 }
4155
4156 6990799 Aitem->drawzcboss(dest);
4157 6990799 }
4158
4159 7086882 break;
4160
4161 case 1: //B button
4162
4/4
✓ Branch 0 taken 6845236 times.
✓ Branch 1 taken 243877 times.
✓ Branch 2 taken 9927 times.
✓ Branch 3 taken 6835309 times.
7089113 if(Bitem&&show_subscreen_items)
4163 {
4164 6835309 Bitem->x=x;
4165 6835309 Bitem->y=y;
4166
4167
2/2
✓ Branch 0 taken 6582853 times.
✓ Branch 1 taken 252456 times.
6835309 switch(itemsbuf[Bitem->id].family)
4168 {
4169 case itype_arrow:
4170
2/4
✓ Branch 0 taken 252456 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 252456 times.
✗ Branch 3 not taken.
252456 if(Bitem && Bitem->dummy_bool[0]==true)
4171 {
4172 if(current_item_id(itype_bow)>-1)
4173 {
4174 subscreenitem(dest, x, y, itype_bow);
4175 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4176 if(!checkmagiccost(Bitem->id)) return;
4177 }
4178 }
4179
4180 252456 break;
4181 }
4182
4183 6835309 Bitem->drawzcboss(dest);
4184 6835309 }
4185
4186 7089113 break;
4187
4188 case 2: //X button
4189
3/4
✓ Branch 0 taken 23307 times.
✓ Branch 1 taken 61118 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 23307 times.
84425 if(Xitem&&show_subscreen_items)
4190 {
4191 //Y button
4192 //zprint2("Drawing X Item\n");
4193 23307 Xitem->x=x;
4194 23307 Xitem->y=y;
4195
4196
1/2
✓ Branch 0 taken 23307 times.
✗ Branch 1 not taken.
23307 switch(itemsbuf[Xitem->id].family)
4197 {
4198 case itype_arrow:
4199 if(Xitem && Xitem->dummy_bool[0]==true)
4200 {
4201 if(current_item_id(itype_bow)>-1)
4202 {
4203 subscreenitem(dest, x, y, itype_bow);
4204 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4205 if(!checkmagiccost(Xitem->id)) return;
4206 }
4207 }
4208
4209 break;
4210 }
4211
4212 23307 Xitem->drawzcboss(dest);
4213 23307 }
4214 //else zprint2("Xitem is NULL\n");
4215
4216 84425 break;
4217
4218 case 3:
4219
3/4
✓ Branch 0 taken 71047 times.
✓ Branch 1 taken 13378 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 71047 times.
84425 if(Yitem&&show_subscreen_items)
4220 {
4221 //Y button
4222 //zprint2("Drawing Y Item\n");
4223 71047 Yitem->x=x;
4224 71047 Yitem->y=y;
4225
4226
1/2
✓ Branch 0 taken 71047 times.
✗ Branch 1 not taken.
71047 switch(itemsbuf[Yitem->id].family)
4227 {
4228 case itype_arrow:
4229 if(Yitem && Yitem->dummy_bool[0]==true)
4230 {
4231 if(current_item_id(itype_bow)>-1)
4232 {
4233 subscreenitem(dest, x, y, itype_bow);
4234 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4235 if(!checkmagiccost(Yitem->id)) return;
4236 }
4237 }
4238
4239 break;
4240 }
4241
4242 71047 Yitem->drawzcboss(dest);
4243 71047 }
4244 //else zprint2("Yitem is NULL\n");
4245
4246 84425 break;
4247
4248 default:
4249 break;
4250 }
4251 14344845 }
4252
4253 4612972 void defaultcounters(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, bool usex, int32_t textstyle, int32_t digits, char idigit)
4254 {
4255
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 4612972 times.
✓ Branch 2 taken 2867158 times.
✓ Branch 3 taken 1745814 times.
4612972 int32_t yofs = (game==NULL || (game->get_sbombs() && current_item_id(itype_sbomb)>-1)) ? 8 : 0;
4256
4257 //88, 16
4258 4612972 overtile8(dest,5,x,y,1,0);
4259 4612972 overtile8(dest,8,x,y+16-yofs,1,0);
4260 4612972 overtile8(dest,9,x,y+24-yofs,0,0);
4261
4262
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4612972 times.
4612972 if(game)
4263 {
4264 4612972 bool magickey = false;
4265 4612972 int32_t itemid = current_item_id(itype_magickey);
4266
4267
2/2
✓ Branch 0 taken 3635278 times.
✓ Branch 1 taken 977694 times.
4612972 if(itemid>-1)
4268 {
4269
1/2
✓ Branch 0 taken 977694 times.
✗ Branch 1 not taken.
977694 if(itemsbuf[itemid].flags&ITEM_FLAG1)
4270 977694 magickey = itemsbuf[itemid].power>=get_dlevel();
4271 else
4272 magickey = itemsbuf[itemid].power==get_dlevel();
4273 977694 }
4274
4275 4612972 putxnum(dest,x+8,y,game->get_rupies(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,current_item_power(itype_wallet)>0,idigit);
4276 4612972 putxnum(dest,x+8,y+16-yofs,game->get_keys()+game->get_lkeys(),tempfont,color,shadowcolor,bgcolor, textstyle,usex,digits,magickey,idigit);
4277 4612972 putxnum(dest,x+8,y+24-yofs,game->get_bombs(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,current_item_power(itype_bombbag)>0,idigit);
4278 4612972 }
4279
4280
5/6
✓ Branch 0 taken 4612972 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1745814 times.
✓ Branch 3 taken 2867158 times.
✓ Branch 4 taken 1743174 times.
✓ Branch 5 taken 2640 times.
4612972 if(game==NULL || (game->get_sbombs() && current_item_id(itype_sbomb)>-1))
4281 {
4282 1743174 overtile8(dest,13,x,y+24,1,0);
4283
4284
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1743174 times.
1743174 if(game)
4285 {
4286 1743174 int32_t itemid = current_item_id(itype_bombbag);
4287
3/4
✓ Branch 0 taken 739880 times.
✓ Branch 1 taken 1003294 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 739880 times.
1743174 bool superbomb = (itemid>=0 && itemsbuf[itemid].power>0 && itemsbuf[itemid].flags & ITEM_FLAG1);
4288
4289 1743174 putxnum(dest,x+8,y+24,game->get_sbombs(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,superbomb,idigit);
4290 1743174 }
4291 1743174 }
4292 4612972 }
4293
4294 10003597 bool is_counter_item(int32_t itemtype, int32_t countertype)
4295 {
4296 10003597 itemdata const& itm = itemsbuf[itemtype];
4297 10003597 int32_t ctr = scounter_to_ctr(countertype);
4298
1/2
✓ Branch 0 taken 10003597 times.
✗ Branch 1 not taken.
10003597 if(ctr == crNONE) return false;
4299
3/4
✓ Branch 0 taken 10003597 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 48838 times.
✓ Branch 3 taken 9954759 times.
10003597 if(ctr == itm.cost_counter[0] ||
4300 10003597 ctr == itm.cost_counter[1])
4301 48838 return true;
4302 9954759 return false;
4303 10003597 }
4304
4305 // itemtype1, itemtype2, itemtype3: Only itemtype1 is used. I'm unsure who made these, who disabled the code
4306 // for them, and when each occurred. They should probably be hidden, but some very old 2.11/2.50b quests
4307 // may have used this and we'd need to edit the uest to fix it as-is, so perrhaps hide them only conditionally?
4308 // or make them flipping work?
4309 // It seems that the original intent was to be able to display a sum of multipe counters as one value. -Z (26th Jan, 2020).
4310 33739320 void counter(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, int32_t alignment, int32_t textstyle, int32_t digits, char idigit, bool showzero, int32_t itemtype1, int32_t itemtype2, int32_t itemtype3, int32_t infiniteitem, bool onlyselected)
4311 {
4312 33739320 int32_t value=0;
4313 33739320 bool infinite=false;
4314 33739320 int32_t itemtypes[3]={itemtype1, itemtype2, itemtype3};
4315
4316
5/6
✓ Branch 0 taken 14213506 times.
✓ Branch 1 taken 19525814 times.
✓ Branch 2 taken 334353 times.
✓ Branch 3 taken 13879153 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 334353 times.
33739320 if(game != NULL && game->get_item(infiniteitem) && !item_disabled(infiniteitem))
4317 {
4318 334353 infinite=true;
4319 334353 }
4320
4321 char valstring[80];
4322 char formatstring[80];
4323 33739320 sprintf(valstring,"01234567890123456789");
4324 33739320 sprintf(formatstring, "%%0%dd", digits);
4325
4326
13/16
✓ Branch 0 taken 1852376 times.
✓ Branch 1 taken 31886944 times.
✓ Branch 2 taken 1634728 times.
✓ Branch 3 taken 217648 times.
✓ Branch 4 taken 1585890 times.
✓ Branch 5 taken 48838 times.
✓ Branch 6 taken 1585890 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1732363 times.
✓ Branch 9 taken 3318253 times.
✓ Branch 10 taken 1732363 times.
✓ Branch 11 taken 1803538 times.
✓ Branch 12 taken 1732363 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 1732363 times.
✗ Branch 15 not taken.
33739320 if(onlyselected && !(((Bitem&&(is_counter_item(Bitem->id,itemtype1)||is_counter_item(Bitem->id,itemtype2)||is_counter_item(Bitem->id,itemtype3)))||(Aitem&&(is_counter_item(Aitem->id,itemtype1)||is_counter_item(Aitem->id,itemtype2)||is_counter_item(Aitem->id,itemtype3))))))
4327 {
4328 1803538 return;
4329 }
4330
4331 int32_t itemtype;
4332 /*
4333 for (int32_t i=0; i<3; ++i)
4334 {
4335 switch (i)
4336 {
4337 case 0:
4338 itemtype=itemtype1;
4339 break;
4340 case 1:
4341 itemtype=itemtype2;
4342 break;
4343 case 2:
4344 itemtype=itemtype3;
4345 break;
4346 }
4347 */
4348 35400508 itemtype=itemtype1;
4349 /* commented out until I find out what it does - it's messing up custom subscreens now as
4350 itemtype2 and 3 are zero - so hero's life gets added to the counters */
4351
4352 /*
4353 Not sure who did that, but I implemented it in its own section, ignoring counter0] for now.
4354 It will need a format change to counter lists in order to allow stacking LIFE on other counters.
4355 For the present, counter 0 for item2 and item3 is NULL. -Z (26-Jan-2020)
4356 */
4357
4358
4359
7/12
✓ Branch 0 taken 24263721 times.
✓ Branch 1 taken 2545813 times.
✓ Branch 2 taken 209122 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2480872 times.
✓ Branch 5 taken 1988456 times.
✓ Branch 6 taken 562752 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 3349772 times.
35400508 switch(itemtype)
4360 {
4361 case sscRUPEES:
4362
1/2
✓ Branch 0 taken 2480872 times.
✗ Branch 1 not taken.
2480872 if(current_item_power(itype_wallet))
4363 infinite=true;
4364
4365 2480872 value+=game->get_rupies();
4366 2480872 break;
4367
4368 case sscBOMBS:
4369
2/2
✓ Branch 0 taken 1970154 times.
✓ Branch 1 taken 18302 times.
1988456 if(current_item_power(itype_bombbag))
4370 18302 infinite=true;
4371
4372 1988456 value+=game->get_bombs();
4373 1988456 break;
4374
4375 case sscSBOMBS:
4376 {
4377 562752 int32_t itemid = current_item_id(itype_bombbag);
4378
4379
4/6
✓ Branch 0 taken 14852 times.
✓ Branch 1 taken 547900 times.
✓ Branch 2 taken 14852 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 14852 times.
✗ Branch 5 not taken.
562752 if(itemid>-1 && itemsbuf[itemid].power>0 && itemsbuf[itemid].flags & ITEM_FLAG1)
4380 14852 infinite=true;
4381
4382 562752 value+=game->get_sbombs();
4383 562752 break;
4384 }
4385
4386 case sscLIFE:
4387 {
4388 value+=game->get_life();
4389 break;
4390 }
4391 case sscMAGIC:
4392 {
4393 value+=game->get_magic();
4394 break;
4395 }
4396
4397 case sscMAXHP:
4398 {
4399 value+=game->get_maxlife();
4400 break;
4401 }
4402 case sscMAXMP:
4403 {
4404 value+=game->get_maxmagic();
4405 break;
4406 }
4407
4408 case sscARROWS:
4409
4/4
✓ Branch 0 taken 574325 times.
✓ Branch 1 taken 2775447 times.
✓ Branch 2 taken 559502 times.
✓ Branch 3 taken 2215945 times.
3349772 if((!get_bit(quest_rules,qr_TRUEARROWS) && current_item_power(itype_wallet)) || current_item_power(itype_quiver))
4410 1133827 infinite=true;
4411
4412 // If Hero somehow got ammunition before getting the arrow,
4413 // or if the arrow was disabled in a DMap,
4414 // we shouldn't put the value as zero.
4415 // if(/*current_item_id(itype_arrow)>-1*/ true)
4416 {
4417
2/2
✓ Branch 0 taken 1656443 times.
✓ Branch 1 taken 574325 times.
2230768 if(get_bit(quest_rules,qr_TRUEARROWS))
4418 {
4419 1656443 value+=game->get_arrows();
4420 1656443 }
4421 else
4422 {
4423 574325 value+=game->get_rupies();
4424 }
4425 }
4426 2230768 break;
4427
4428 case sscGENKEYMAGIC:
4429 case sscLEVKEYMAGIC:
4430 case sscANYKEYMAGIC:
4431 {
4432 2545813 int32_t itemid = current_item_id(itype_magickey);
4433
4434
3/4
✓ Branch 0 taken 246555 times.
✓ Branch 1 taken 2299258 times.
✓ Branch 2 taken 246555 times.
✗ Branch 3 not taken.
2545813 if(itemid>-1 && !infinite)
4435 {
4436 if(itemsbuf[itemid].flags&ITEM_FLAG1)
4437 infinite = itemsbuf[itemid].power>=get_dlevel();
4438 else
4439 infinite = itemsbuf[itemid].power==get_dlevel();
4440 }
4441 2545813 }
4442
4443 //fall through
4444 case sscANYKEYNOMAGIC:
4445 case sscLEVKEYNOMAGIC:
4446 case sscGENKEYNOMAGIC:
4447
2/4
✓ Branch 0 taken 2754935 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2192402 times.
4947337 if(itemtype == sscGENKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4448
3/4
✓ Branch 0 taken 2754935 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2192402 times.
✓ Branch 3 taken 562533 times.
2754935 || itemtype == sscGENKEYMAGIC || itemtype == sscANYKEYMAGIC)
4449 562533 value += game->get_keys();
4450
4451
3/4
✓ Branch 0 taken 2545813 times.
✓ Branch 1 taken 209122 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 562533 times.
3317468 if(itemtype == sscLEVKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4452
3/4
✓ Branch 0 taken 2545813 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 562533 times.
✓ Branch 3 taken 1983280 times.
2545813 || itemtype == sscLEVKEYMAGIC || itemtype == sscANYKEYMAGIC)
4453 2192402 value += game->get_lkeys();
4454
4455 2754935 break;
4456
4457 case sscSCRIPT1:
4458 case sscSCRIPT2:
4459 case sscSCRIPT3:
4460 case sscSCRIPT4:
4461 case sscSCRIPT5:
4462 case sscSCRIPT6:
4463 case sscSCRIPT7:
4464 case sscSCRIPT8:
4465 case sscSCRIPT9:
4466 case sscSCRIPT10:
4467 case sscSCRIPT11:
4468 case sscSCRIPT12:
4469 case sscSCRIPT13:
4470 case sscSCRIPT14:
4471 case sscSCRIPT15:
4472 case sscSCRIPT16:
4473 case sscSCRIPT17:
4474 case sscSCRIPT18:
4475 case sscSCRIPT19:
4476 case sscSCRIPT20:
4477 case sscSCRIPT21:
4478 case sscSCRIPT22:
4479 case sscSCRIPT23:
4480 case sscSCRIPT24:
4481 case sscSCRIPT25:
4482 24263721 value += game->get_counter(itemtype-3);
4483 24263721 break;
4484
4485 default:
4486 break;
4487 }
4488
4489 //Re-implement item2 and item3 stacking counters. -Z 26-Jan-2020
4490
4/4
✓ Branch 0 taken 11459673 times.
✓ Branch 1 taken 22821831 times.
✓ Branch 2 taken 11362158 times.
✓ Branch 3 taken 11459673 times.
34281504 if ( /*get_bit(quest_rules,qrSTACKSUBSCREENCOUNTERS) || (*/( FFCore.getQuestHeaderInfo(vZelda) == 0x250 && FFCore.getQuestHeaderInfo(vBuild) >= 33 ) //this ishowit looks in 2.53.1, Beta 25
4491 34281504 || ( FFCore.getQuestHeaderInfo(vZelda) > 0x250 ) ) /*)*/
4492
4493 {
4494 //add item2 and item3 values to item1 values
4495
2/2
✓ Branch 0 taken 1900590 times.
✓ Branch 1 taken 950295 times.
24722421 for (int32_t i=1; i<3; ++i)
4496 {
4497
4498
2/3
✗ Branch 0 not taken.
✓ Branch 1 taken 950295 times.
✓ Branch 2 taken 950295 times.
1900590 switch (i)
4499 {
4500 case 1:
4501 {
4502
2/2
✓ Branch 0 taken 491292 times.
✓ Branch 1 taken 459003 times.
950295 if ( itemtypes[i] == itemtypes[i-1] )
4503 {
4504 491292 itemtype = -2;
4505 491292 break;
4506 }
4507 else
4508 {
4509 459003 itemtype=itemtype2;
4510 459003 break;
4511 }
4512 }
4513 case 2:
4514 {
4515
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 950295 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
950295 if ( ( itemtypes[i] == itemtypes[i-1] ) || ( itemtypes[i] == itemtypes[i-2] ) )
4516 {
4517 950295 itemtype = -3;
4518 950295 break;
4519 }
4520 else
4521 {
4522 itemtype=itemtype3;
4523 break;
4524 }
4525
4526 }
4527 }
4528
4529
1/11
✗ Branch 0 not taken.
✓ Branch 1 taken 1900590 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
1900590 switch(itemtype)
4530 {
4531 case -3:
4532 case -2:
4533 case sscLIFE:
4534 case sscRUPEES:
4535 {
4536 //do nothing if any of these three. -Z
4537 //value+=game->get_life(); Life cannot stack. It's NULL. :/
4538 1900590 break;
4539 }
4540 //case sscRUPEES:
4541 //{
4542 // if(current_item_power(itype_wallet))
4543 // infinite=true;
4544 // value+=game->get_rupies();
4545 // break;
4546 //}
4547 case sscBOMBS:
4548 {
4549 if(current_item_power(itype_bombbag))
4550 infinite=true;
4551 value+=game->get_bombs();
4552 break;
4553 }
4554 case sscSBOMBS:
4555 {
4556 int32_t itemid = current_item_id(itype_bombbag);
4557 if(itemid>-1 && itemsbuf[itemid].power>0 && itemsbuf[itemid].flags & ITEM_FLAG1)
4558 infinite=true;
4559 value+=game->get_sbombs();
4560 break;
4561 }
4562 case sscMAGIC:
4563 {
4564 value+=game->get_magic();
4565 break;
4566 }
4567 case sscMAXHP:
4568 {
4569 value+=game->get_maxlife();
4570 break;
4571 }
4572 case sscMAXMP:
4573 {
4574 value+=game->get_maxmagic();
4575 break;
4576 }
4577 case sscARROWS:
4578 if((!get_bit(quest_rules,qr_TRUEARROWS) && current_item_power(itype_wallet)) || current_item_power(itype_quiver))
4579 infinite=true;
4580
4581 // If Hero somehow got ammunition before getting the arrow,
4582 // or if the arrow was disabled in a DMap,
4583 // we shouldn't put the value as zero.
4584 // if(/*current_item_id(itype_arrow)>-1*/ true)
4585 {
4586 if(get_bit(quest_rules,qr_TRUEARROWS))
4587 {
4588 value+=game->get_arrows();
4589 }
4590 else
4591 {
4592 value+=game->get_rupies();
4593 }
4594 }
4595 break;
4596
4597 case sscGENKEYMAGIC:
4598 case sscLEVKEYMAGIC:
4599 case sscANYKEYMAGIC:
4600 {
4601 int32_t itemid = current_item_id(itype_magickey);
4602 if(itemid>-1 && !infinite)
4603 {
4604 if(itemsbuf[itemid].flags&ITEM_FLAG1)
4605 {
4606 infinite = itemsbuf[itemid].power>=get_dlevel();
4607 }
4608 else
4609 {
4610 infinite = itemsbuf[itemid].power==get_dlevel();
4611 }
4612 }
4613 }
4614
4615 //fall through
4616 case sscANYKEYNOMAGIC:
4617 case sscLEVKEYNOMAGIC:
4618 case sscGENKEYNOMAGIC:
4619 if(itemtype == sscGENKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4620 || itemtype == sscGENKEYMAGIC || itemtype == sscANYKEYMAGIC)
4621 {
4622 value += game->get_keys();
4623 }
4624
4625 if(itemtype == sscLEVKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4626 || itemtype == sscLEVKEYMAGIC || itemtype == sscANYKEYMAGIC)
4627 {
4628 value += game->get_lkeys();
4629 }
4630 break;
4631
4632 case sscSCRIPT1:
4633 case sscSCRIPT2:
4634 case sscSCRIPT3:
4635 case sscSCRIPT4:
4636 case sscSCRIPT5:
4637 case sscSCRIPT6:
4638 case sscSCRIPT7:
4639 case sscSCRIPT8:
4640 case sscSCRIPT9:
4641 case sscSCRIPT10:
4642 case sscSCRIPT11:
4643 case sscSCRIPT12:
4644 case sscSCRIPT13:
4645 case sscSCRIPT14:
4646 case sscSCRIPT15:
4647 case sscSCRIPT16:
4648 case sscSCRIPT17:
4649 case sscSCRIPT18:
4650 case sscSCRIPT19:
4651 case sscSCRIPT20:
4652 case sscSCRIPT21:
4653 case sscSCRIPT22:
4654 case sscSCRIPT23:
4655 case sscSCRIPT24:
4656 case sscSCRIPT25:
4657 {
4658 value += game->get_counter(itemtype-3);
4659 break;
4660 }
4661
4662 default:
4663 {
4664 break;
4665 }
4666 }
4667
4668 1900590 }
4669 950295 }
4670
4671 // (for loop) }
4672
5/6
✓ Branch 0 taken 1153880 times.
✓ Branch 1 taken 11256088 times.
✓ Branch 2 taken 990683 times.
✓ Branch 3 taken 163197 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 990683 times.
12409968 if(!showzero&&!value&&!infinite)
4673 {
4674 990683 return;
4675 }
4676
4677
2/2
✓ Branch 0 taken 294532 times.
✓ Branch 1 taken 11124753 times.
11419285 if(infinite)
4678 {
4679 294532 sprintf(valstring, "%c", idigit);
4680 294532 }
4681 else
4682 {
4683 11124753 sprintf(valstring, formatstring, value);
4684 }
4685
4686 11419285 textout_styled_aligned_ex(dest,tempfont,valstring,x,y,textstyle,alignment,color,shadowcolor,bgcolor);
4687
4688 // putxnum(dest,x+8,y,game->get_rupies(),tempfont,color,shadowcolor,bgcolor,shadowed,usex,digits,0,idigit);
4689 14213506 }
4690
4691 6556172 void minimaptitle(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, int32_t alignment, int32_t textstyle)
4692 {
4693 char dmaptitlesource[2][11];
4694 char dmaptitle[2][11];
4695 6556172 sprintf(dmaptitlesource[0], "%.10s", DMaps[get_currdmap()].title);
4696 6556172 sprintf(dmaptitlesource[1], "%.10s", DMaps[get_currdmap()].title+10);
4697
4698 6556172 int32_t title_len1=stripspaces(dmaptitlesource[0], dmaptitle[0], 10);
4699 6556172 int32_t title_len2=stripspaces(dmaptitlesource[1], dmaptitle[1], 10);
4700
4701
3/4
✓ Branch 0 taken 863878 times.
✓ Branch 1 taken 5692294 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 863878 times.
6556172 if((title_len1>0)||(title_len2>0))
4702 {
4703
3/4
✓ Branch 0 taken 5692294 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4494863 times.
✓ Branch 3 taken 1197431 times.
5692294 if((title_len1>0)&&(title_len2>0))
4704 {
4705 1197431 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[1]);
4706 1197431 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[0]);
4707 1197431 }
4708 else
4709 {
4710
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4494863 times.
4494863 if(title_len1>0)
4711 {
4712 4494863 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[0]);
4713 4494863 }
4714 else
4715 {
4716 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[1]);
4717 }
4718 }
4719 5692294 }
4720 6556172 }
4721
4722 7278478 void put_passive_subscr(BITMAP *dest,miscQdata *misc,int32_t x,int32_t y,bool showtime,int32_t pos2)
4723 {
4724 // uncomment this?
4725 // load_Sitems();
4726 7278478 Sitems.animate();
4727 7278478 update_subscr_items();
4728 7278478 BITMAP *subscr = create_sub_bitmap(dest,x,y,256,passive_subscreen_height);
4729
4730
2/2
✓ Branch 0 taken 31638 times.
✓ Branch 1 taken 7246840 times.
7278478 if(no_subscreen())
4731 {
4732 31638 clear_to_color(subscr,0);
4733 31638 destroy_bitmap(subscr);
4734 31638 return;
4735 }
4736
4737 7246840 show_custom_subscreen(subscr, misc, current_subscreen_passive, 0, 0, showtime, pos2);
4738 7246840 destroy_bitmap(subscr);
4739 7278478 }
4740
4741 /*
4742 const byte tripiece[8*3] =
4743 {
4744 112,112,0, 128,112,1, 96,128,0, 144,128,1,
4745 112,128,2, 112,128,1, 128,128,3, 128,128,0
4746 };
4747 */
4748
4749 33149 void puttriframe(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y, int32_t triframecolor, int32_t numbercolor, int32_t triframetile, int32_t triframecset, int32_t triforcetile, int32_t triforcecset, bool showframe, bool showpieces, bool largepieces)
4750 {
4751
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 33149 times.
33149 if(triframetile==0)
4752 {
4753 33149 triframetile=misc->colors.triframe_tile;
4754 33149 triframecset=misc->colors.triframe_cset;
4755 33149 }
4756
4757
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 33149 times.
33149 if(triforcetile==0)
4758 {
4759 33149 triforcetile=misc->colors.triforce_tile;
4760 33149 triforcecset=misc->colors.triforce_cset;
4761 33149 }
4762
4763
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 33149 times.
33149 if(!largepieces)
4764 {
4765
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 33149 times.
33149 if(showframe)
4766 {
4767
2/2
✓ Branch 0 taken 26354 times.
✓ Branch 1 taken 6795 times.
33149 if(triframetile)
4768 {
4769 26354 draw_block(dest,x,y,triframetile,triframecset,6,3);
4770 26354 }
4771 else
4772 {
4773 6795 line(dest,x+47,y,x+1,y+46,triframecolor);
4774 6795 line(dest,x+48,y,x+94,y+46,triframecolor);
4775 6795 _allegro_hline(dest,x,y+47,x+95,triframecolor);
4776 6795 line(dest,x+47,y+7,x+15,y+39,triframecolor);
4777 6795 line(dest,x+48,y+7,x+80,y+39,triframecolor);
4778 6795 _allegro_hline(dest,x+15,y+40,x+80,triframecolor);
4779 }
4780 33149 }
4781
4782
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 33149 times.
33149 if(showpieces)
4783 {
4784
2/2
✓ Branch 0 taken 265192 times.
✓ Branch 1 taken 33149 times.
298341 for(int32_t i=0; i<8; i++)
4785 {
4786 265192 int32_t lvl = i+1;
4787
4788
4/4
✓ Branch 0 taken 168656 times.
✓ Branch 1 taken 96536 times.
✓ Branch 2 taken 84328 times.
✓ Branch 3 taken 84328 times.
265192 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
4789 84328 lvl -= 4;
4790
4791
2/2
✓ Branch 0 taken 153741 times.
✓ Branch 1 taken 111451 times.
265192 if(has_item(itype_triforcepiece, lvl))
4792 {
4793 111451 int32_t tp=0;
4794
4795
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 424196 times.
424196 for(; tp<8; tp++)
4796
2/2
✓ Branch 0 taken 312745 times.
✓ Branch 1 taken 111451 times.
424196 if(misc->triforce[tp] == i+1)
4797 111451 break;
4798
4799 111451 overtile16(dest,triforcetile,x+tripiece[0][tp][0],y+tripiece[0][tp][1],triforcecset,tripiece[0][tp][2]);
4800 111451 }
4801 265192 }
4802 33149 }
4803 33149 }
4804 else
4805 {
4806 if(showframe)
4807 {
4808 if(triframetile)
4809 {
4810 draw_block(dest,x,y,triframetile,triframecset,7,7);
4811 }
4812 else
4813 {
4814 if(!get_bit(quest_rules,qr_4TRI))
4815 {
4816 //left inside vertical
4817 _allegro_vline(dest,x+31,y+56,y+103,triframecolor);
4818 _allegro_vline(dest,x+32,y+56,y+103,triframecolor);
4819
4820 //center inside vertical top
4821 _allegro_vline(dest,x+55,y+8 ,y+55,triframecolor);
4822 _allegro_vline(dest,x+56,y+8 ,y+55,triframecolor);
4823
4824 //right inside vertical
4825 _allegro_vline(dest,x+79,y+56,y+103,triframecolor);
4826 _allegro_vline(dest,x+80,y+56,y+103,triframecolor);
4827
4828 if(!get_bit(quest_rules,qr_3TRI))
4829 {
4830 //center inside vertical bottom
4831 _allegro_vline(dest,x+55,y+56,y+103,triframecolor);
4832 _allegro_vline(dest,x+56,y+56,y+103,triframecolor);
4833 }
4834 }
4835
4836 //middle inside horizontal
4837 _allegro_hline(dest,x+32,y+55,x+79,triframecolor);
4838 _allegro_hline(dest,x+32,y+56,x+79,triframecolor);
4839
4840 //bottom outside horizontal
4841 _allegro_hline(dest,x+8,y+103,x+103,triframecolor);
4842
4843 //left outside diagonal
4844 line(dest,x+8,y+103,x+55,y+8,triframecolor);
4845 line(dest,x+9,y+102,x+55,y+9,triframecolor);
4846
4847 //right outside diagonal
4848 line(dest,x+56,y+8,x+103,y+103,triframecolor);
4849 line(dest,x+56,y+9,x+102,y+102,triframecolor);
4850
4851 //left inside diagonal
4852 line(dest,x+32,y+56,x+55,y+103,triframecolor);
4853 line(dest,x+32,y+57,x+54,y+102,triframecolor);
4854 line(dest,x+32,y+55,x+55,y+102,triframecolor);
4855
4856 //right inside diagonal
4857 line(dest,x+56,y+103,x+79,y+56,triframecolor);
4858 line(dest,x+57,y+102,x+79,y+57,triframecolor);
4859 line(dest,x+56,y+102,x+79,y+55,triframecolor);
4860
4861 for(int32_t i=0; i<8; i++)
4862 {
4863 int32_t lvl = i+1;
4864
4865 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
4866 {
4867 lvl -= 4;
4868 }
4869
4870 int32_t tp=0;
4871
4872 for(; tp<8; tp++)
4873 {
4874 if(misc->triforce[tp] == i+1)
4875 {
4876 break;
4877 }
4878 }
4879
4880 if(!has_item(itype_triforcepiece, lvl))
4881 {
4882 textprintf_ex(dest, get_zc_font(font_pfont), x+tripiece[1][tp][0]+((tripiece[1][tp][2]&1)?8:14),y+tripiece[1][tp][1]+((tripiece[1][tp][2]&2)?9:32), numbercolor, -1, "%d", lvl);
4883 }
4884 }
4885 }
4886 }
4887
4888 if(showpieces)
4889 {
4890 for(int32_t i=0; i<8; i++)
4891 {
4892 int32_t lvl = i+1;
4893
4894 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
4895 {
4896 lvl -= 4;
4897 }
4898
4899 int32_t tp=0;
4900
4901 for(; tp<8; tp++)
4902 {
4903 if(misc->triforce[tp] == i+1)
4904 {
4905 break;
4906 }
4907 }
4908
4909 if(has_item(itype_triforcepiece, lvl))
4910 {
4911 draw_block_flip(dest,x+tripiece[1][tp][0]-(tripiece[1][tp][2]&1?0:8),y+tripiece[1][tp][1],triforcetile,triforcecset,2,3,tripiece[1][tp][2],1,0);
4912 }
4913 }
4914 }
4915 }
4916 33149 }
4917
4918
4919 void puttriforce(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y, int32_t tile, int32_t cset, int32_t w, int32_t h, int32_t flip, bool overlay, bool trans, int32_t trinum)
4920 {
4921 if(tile==0)
4922 {
4923 tile=misc->colors.triforce_tile;
4924 cset=misc->colors.triforce_cset;
4925 }
4926
4927 if(trinum <= 8)
4928 {
4929 for(int32_t i=0; i<8; i++)
4930 {
4931 int32_t lvl = i+1;
4932
4933 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
4934 lvl -= 4;
4935
4936 if(lvl==trinum && has_item(itype_triforcepiece, lvl))
4937 {
4938 int32_t tp=0;
4939
4940 for(; tp<8; tp++)
4941 if(misc->triforce[tp] == i+1)
4942 break;
4943
4944 draw_block_flip(dest,x,y,tile,cset,w,h,flip,overlay,trans);
4945 }
4946 }
4947 }
4948 else if(has_item(itype_triforcepiece, trinum))
4949 {
4950 draw_block_flip(dest,x,y,tile,cset,w,h,flip,overlay,trans);
4951 }
4952 }
4953
4954 /*
4955 const byte bmap[16*2] = {
4956 0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,
4957 0,3,0,0,0,3,0,0,0,0,3,0,0,0,3,0 };
4958
4959 const int32_t fringe[8] = { 6,2,4,7,6,8,7,5 };
4960
4961 const byte bmaptiles[8*5] = {
4962 0, 1, 2, 3, 2, 3, 3, 4,
4963 20,21,22,23,22,23,23,24,
4964 20,21,22,23,22,23,23,24,
4965 20,21,22,23,22,23,23,24,
4966 40,41,42,43,42,43,43,44 };
4967 */
4968
4969 void draw_block(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h);
4970 186246 void putBmap(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y,bool showmap, bool showrooms, bool showhero, int32_t roomcolor, int32_t herocolor, bool large)
4971 {
4972 186246 int32_t si=0;
4973
4974
2/2
✓ Branch 0 taken 114756 times.
✓ Branch 1 taken 71490 times.
186246 int32_t maptile=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].largemap_2_tile:DMaps[get_currdmap()].largemap_1_tile;
4975
2/2
✓ Branch 0 taken 114756 times.
✓ Branch 1 taken 71490 times.
186246 int32_t mapcset=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].largemap_2_cset:DMaps[get_currdmap()].largemap_1_cset;
4976
4977
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 186246 times.
186246 if(showmap)
4978 {
4979
2/2
✓ Branch 0 taken 1886 times.
✓ Branch 1 taken 184360 times.
186246 if(maptile)
4980 {
4981 1886 draw_block(dest,x,y,maptile,mapcset,large?9:7,5);
4982 1886 }
4983
3/4
✓ Branch 0 taken 101058 times.
✓ Branch 1 taken 83302 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 101058 times.
184360 else if(misc->colors.dungeon_map_tile||misc->colors.dungeon_map_tile)
4984 {
4985
2/2
✓ Branch 0 taken 416510 times.
✓ Branch 1 taken 83302 times.
499812 for(int32_t y2=0; y2<5; y2++)
4986 {
4987
2/2
✓ Branch 0 taken 3332080 times.
✓ Branch 1 taken 416510 times.
3748590 for(int32_t x2=0; x2<(large?8:6); x2++)
4988 {
4989
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3332080 times.
✓ Branch 2 taken 3332080 times.
✗ Branch 3 not taken.
3332080 overtile16(dest,(misc->colors.dungeon_map_tile!=0?misc->colors.dungeon_map_tile:misc->colors.dungeon_map_tile)+(large?bmaptiles_original[y2][x2]:bmaptiles_bs[y2][x2]),x+(x2<<4),y+(y2<<4),misc->colors.dungeon_map_cset,0);
4990 //++si;
4991 3332080 }
4992 416510 }
4993 83302 }
4994 else
4995 {
4996 101058 BITMAP *bmp = create_bitmap_ex(8,8,8);
4997
4998
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 101058 times.
101058 if(!bmp)
4999 return;
5000
5001 101058 clear_bitmap(bmp);
5002
5003
2/2
✓ Branch 0 taken 808464 times.
✓ Branch 1 taken 101058 times.
909522 for(int32_t x2=0; x2<8; x2++)
5004 {
5005
2/2
✓ Branch 0 taken 4547610 times.
✓ Branch 1 taken 808464 times.
5356074 for(int32_t y2=8-fringe[x2]; y2<8; y2++)
5006 {
5007 4547610 putpixel(bmp,x2,y2,misc->colors.bmap_bg);
5008 4547610 }
5009 808464 }
5010
5011 101058 rectfill(dest,x,y,x+(large?127:95),y+79,misc->colors.bmap_bg);
5012
5013
2/2
✓ Branch 0 taken 202116 times.
✓ Branch 1 taken 101058 times.
303174 for(int32_t y2=0; y2<2; ++y2)
5014 {
5015
2/2
✓ Branch 0 taken 3233856 times.
✓ Branch 1 taken 202116 times.
3435972 for(int32_t x2=0; x2<(large?16:12); ++x2)
5016 {
5017
3/4
✓ Branch 0 taken 3233856 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2425392 times.
✓ Branch 3 taken 808464 times.
3233856 if((large?bmap_original[y2][x2]:bmap_bs[y2][x2]))
5018 {
5019 808464 rectfill(dest,(x2<<3)+x,(y2*72)+y,(x2<<3)+x+7,(y2*72)+y+7,misc->colors.subscr_bg);
5020
5021
3/5
✓ Branch 0 taken 808464 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 404232 times.
✓ Branch 4 taken 404232 times.
808464 switch((large?bmap_original[y2][x2]:bmap_bs[y2][x2]))
5022 {
5023 case 3:
5024 404232 draw_sprite_v_flip(dest,bmp,(x2<<3)+x,(y2*72)+y);
5025 404232 break;
5026
5027 404232 case 1:
5028 default:
5029 404232 draw_sprite(dest,bmp,(x2<<3)+x,(y2*72)+y);
5030 404232 break;
5031 }
5032 808464 }
5033 3233856 }
5034 202116 }
5035
5036 101058 destroy_bitmap(bmp);
5037 }
5038 186246 }
5039
5040
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 186246 times.
186246 if(showrooms)
5041 {
5042
1/2
✓ Branch 0 taken 186246 times.
✗ Branch 1 not taken.
186246 if(roomcolor==-1)
5043 {
5044 roomcolor = misc->colors.bmap_fg;
5045 }
5046
5047 186246 si=(get_currdmap() << 7);
5048
5049
2/2
✓ Branch 0 taken 1489968 times.
✓ Branch 1 taken 186246 times.
1676214 for(int32_t y2=y+8; y2<y+72; y2+=8)
5050 {
5051
2/2
✓ Branch 0 taken 11024859 times.
✓ Branch 1 taken 1489968 times.
12514827 while(((unsigned)((si&0xF)-DMaps[get_currdmap()].xoff))>7)
5052 11024859 ++si;
5053 1489968 int32_t xoffs = DMaps[get_currdmap()].xoff;
5054
2/2
✓ Branch 0 taken 11526960 times.
✓ Branch 1 taken 1489968 times.
13016928 for(int32_t x2=x+(large?32:16)+(maptile?8:0); x2<x+(large?96:80)+(maptile?8:0); x2+=8)
5055 {
5056
2/2
✓ Branch 0 taken 11176976 times.
✓ Branch 1 taken 349984 times.
11526960 if(xoffs < 0)
5057 {
5058 349984 x2 += (8*-xoffs);
5059 349984 xoffs = 0;
5060 349984 }
5061
2/2
✓ Branch 0 taken 7854133 times.
✓ Branch 1 taken 3672827 times.
11526960 if(get_bmaps(si))
5062 {
5063 3672827 rectfill(dest,x2+1,y2+1,x2+6,y2+6,roomcolor);
5064
5065
2/2
✓ Branch 0 taken 2674061 times.
✓ Branch 1 taken 998766 times.
3672827 if(get_bmaps(si)&1) _allegro_hline(dest,x2+3,y2, x2+4,roomcolor); //top door
5066
5067
2/2
✓ Branch 0 taken 2372273 times.
✓ Branch 1 taken 1300554 times.
3672827 if(get_bmaps(si)&2) _allegro_hline(dest,x2+3,y2+7,x2+4,roomcolor); //bottom door
5068
5069
2/2
✓ Branch 0 taken 2748019 times.
✓ Branch 1 taken 924808 times.
3672827 if(get_bmaps(si)&4) _allegro_vline(dest,x2, y2+3,y2+4,roomcolor); //left door
5070
5071
2/2
✓ Branch 0 taken 2815926 times.
✓ Branch 1 taken 856901 times.
3672827 if(get_bmaps(si)&8) _allegro_vline(dest,x2+7,y2+3,y2+4,roomcolor); //right door
5072 3672827 }
5073
5074 11526960 ++si;
5075 11526960 }
5076
2/2
✓ Branch 0 taken 1139984 times.
✓ Branch 1 taken 349984 times.
1489968 if(DMaps[get_currdmap()].xoff < 0)
5077 {
5078 349984 si -= DMaps[get_currdmap()].xoff;
5079 349984 }
5080 1489968 }
5081 186246 }
5082
5083
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 186246 times.
186246 if(showhero)
5084 {
5085
2/2
✓ Branch 0 taken 19636 times.
✓ Branch 1 taken 166610 times.
186246 if(get_currscr()<MAPSCRSNORMAL)
5086 {
5087
1/2
✓ Branch 0 taken 166610 times.
✗ Branch 1 not taken.
166610 if(herocolor==-1)
5088 {
5089 herocolor=misc->colors.hero_dot;
5090 }
5091
5092
2/2
✓ Branch 0 taken 3340 times.
✓ Branch 1 taken 163270 times.
166610 int32_t xoff = (((DMaps[get_currdmap()].type&dmfTYPE)==dmOVERW) ? 0 : DMaps[get_currdmap()].xoff);
5093 166610 putdot(dest,(((get_homescr()&15)-xoff)<<3)+x+(large?34:18)+(maptile?8:0),((get_homescr()&0xF0)>>1)+y+11,herocolor);
5094 166610 }
5095 186246 }
5096 186246 }
5097
5098
5099 31806 void load_Sitems(miscQdata *misc)
5100 {
5101 31806 Sitems.clear();
5102
5103 // HC Pieces
5104
2/2
✓ Branch 0 taken 9004 times.
✓ Branch 1 taken 22802 times.
31806 if(misc->colors.HCpieces_tile)
5105 {
5106 // item *HCP = new item((zfix)(inventory_x[5]-ofs),(zfix)y,iMax,0,0);
5107
4/8
✓ Branch 0 taken 22802 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 22802 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 22802 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 22802 times.
✗ Branch 7 not taken.
22802 item *HCP = new item((zfix)0,(zfix)0,(zfix)0,iHCPiece,0,0);
5108
5109
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 22802 times.
22802 if(HCP)
5110 {
5111 22802 int32_t hcpphc = game->get_hcp_per_hc();
5112
2/2
✓ Branch 0 taken 22090 times.
✓ Branch 1 taken 712 times.
22802 HCP->tile = misc->colors.HCpieces_tile + vbound(game->get_HCpieces(),0,hcpphc > 0 ? hcpphc-1 : 0);
5113 22802 HCP->o_tile = HCP->tile;
5114 22802 HCP->cs = misc->colors.HCpieces_cset;
5115 22802 HCP->frames = 0;
5116 22802 add_subscr_item(HCP);
5117 22802 }
5118 22802 }
5119
5120
2/2
✓ Branch 0 taken 22614 times.
✓ Branch 1 taken 9192 times.
31806 if(has_item(itype_map, get_dlevel()))
5121 {
5122
4/8
✓ Branch 0 taken 9192 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9192 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9192 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 9192 times.
✗ Branch 7 not taken.
9192 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iMap,0,0));
5123 9192 }
5124
5125
2/2
✓ Branch 0 taken 20447 times.
✓ Branch 1 taken 11359 times.
31806 if(has_item(itype_compass, get_dlevel()))
5126 {
5127
4/8
✓ Branch 0 taken 11359 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 11359 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 11359 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 11359 times.
✗ Branch 7 not taken.
11359 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iCompass,0,0));
5128 11359 }
5129
5130
2/2
✓ Branch 0 taken 28256 times.
✓ Branch 1 taken 3550 times.
31806 if(has_item(itype_bosskey, get_dlevel()))
5131 {
5132
4/8
✓ Branch 0 taken 3550 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3550 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3550 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 3550 times.
✗ Branch 7 not taken.
3550 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iBossKey,0,0));
5133 3550 }
5134
5135
2/2
✓ Branch 0 taken 31806 times.
✓ Branch 1 taken 16284672 times.
16316478 for(int32_t i=0; i<itype_max; i++)
5136 {
5137 //special case: ignore the dmap-specific items processed above. -DD
5138
6/6
✓ Branch 0 taken 16252866 times.
✓ Branch 1 taken 31806 times.
✓ Branch 2 taken 16221060 times.
✓ Branch 3 taken 31806 times.
✓ Branch 4 taken 31806 times.
✓ Branch 5 taken 16189254 times.
16284672 if(i == itype_map || i == itype_compass || i == itype_bosskey)
5139 95418 continue;
5140
5141 // Display the ring even if it has run out of magic.
5142
2/2
✓ Branch 0 taken 15727812 times.
✓ Branch 1 taken 461442 times.
16189254 if(current_item_id(i,false)>-1)
5143 {
5144 461442 int32_t j = current_item_id(i,false);
5145 //al_trace("About to check itemsbuf[j].tile in subscreen.cpp, line 4634, loop[%d]\n",j);
5146
2/2
✓ Branch 0 taken 5737 times.
✓ Branch 1 taken 455705 times.
461442 if(itemsbuf[j].tile)
5147
4/8
✓ Branch 0 taken 455705 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 455705 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 455705 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 455705 times.
✗ Branch 7 not taken.
455705 add_subscr_item(new item((zfix)0, (zfix)0,(zfix)0,j,0,0));
5148 461442 }
5149 16189254 }
5150 //al_trace("Finished load_Sitems(%d)\n",0);
5151
5152 31806 new_sel=true;
5153 31806 }
5154
5155 24201 void update_subscreens(int32_t dmap)
5156 {
5157
2/2
✓ Branch 0 taken 22714 times.
✓ Branch 1 taken 1487 times.
24201 if(dmap<0)
5158 22714 dmap=get_currdmap();
5159
5160 24201 int32_t index=DMaps[dmap].active_subscreen;
5161
5162 24201 int32_t i=-1, j=0;
5163
5164
4/4
✓ Branch 0 taken 2669 times.
✓ Branch 1 taken 76386 times.
✓ Branch 2 taken 54854 times.
✓ Branch 3 taken 24201 times.
79055 while(custom_subscreen[j].objects[0].type!=ssoNULL&&i!=index)
5165 {
5166
2/2
✓ Branch 0 taken 46625 times.
✓ Branch 1 taken 8229 times.
54854 if(custom_subscreen[j].ss_type==sstACTIVE)
5167 {
5168 46625 ++i;
5169 46625 }
5170
5171 54854 ++j;
5172 }
5173
5174 24201 current_subscreen_active=&custom_subscreen[j-1];
5175
5176 24201 index=DMaps[dmap].passive_subscreen;
5177
5178 24201 i=-1, j=0;
5179
5180
4/4
✓ Branch 0 taken 12500 times.
✓ Branch 1 taken 105488 times.
✓ Branch 2 taken 93787 times.
✓ Branch 3 taken 24201 times.
117988 while(custom_subscreen[j].objects[0].type!=ssoNULL&&i!=index)
5181 {
5182
2/2
✓ Branch 0 taken 52056 times.
✓ Branch 1 taken 41731 times.
93787 if(custom_subscreen[j].ss_type==sstPASSIVE)
5183 {
5184 41731 ++i;
5185 41731 }
5186
5187 93787 ++j;
5188 }
5189
5190 24201 current_subscreen_passive=&custom_subscreen[j-1];
5191 24201 }
5192
5193 80 int32_t ss_objects(subscreen_group *tempss)
5194 {
5195 80 int32_t i=0;
5196
5197
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3460 times.
✓ Branch 2 taken 3380 times.
✓ Branch 3 taken 80 times.
3460 while(i<MAXSUBSCREENITEMS&&tempss->objects[i].type!=ssoNULL)
5198 {
5199 3380 ++i;
5200 }
5201
5202 80 return i;
5203 }
5204
5205
5206 80 void purge_blank_subscreen_objects(subscreen_group *tempss)
5207 {
5208 80 int32_t objects=ss_objects(tempss);
5209 subscreen_object tempsso;
5210
5211 //filter all the ssoNONE items to the end (yeah, bubble sort; sue me)
5212
2/2
✓ Branch 0 taken 3300 times.
✓ Branch 1 taken 80 times.
3380 for(int32_t j=0; j<objects-1; j++)
5213 {
5214
2/2
✓ Branch 0 taken 90420 times.
✓ Branch 1 taken 3300 times.
93720 for(int32_t k=0; k<objects-1-j; k++)
5215 {
5216
2/2
✓ Branch 0 taken 43108 times.
✓ Branch 1 taken 47312 times.
90420 if(tempss->objects[k].type==ssoNONE)
5217 {
5218 47312 tempsso=tempss->objects[k];
5219 47312 tempss->objects[k]=tempss->objects[k+1];
5220 47312 tempss->objects[k+1]=tempsso;
5221 47312 }
5222 90420 }
5223 3300 }
5224
5225 //NULL out the ssoNONE items
5226
2/2
✓ Branch 0 taken 3380 times.
✓ Branch 1 taken 80 times.
3460 for(int32_t j=0; j<objects; j++)
5227 {
5228
2/2
✓ Branch 0 taken 1860 times.
✓ Branch 1 taken 1520 times.
3380 if(tempss->objects[j].type==ssoNONE)
5229 {
5230 1520 tempss->objects[j].type=ssoNULL;
5231 1520 }
5232 3380 }
5233 80 }
5234
5235
5236
5237 int32_t get_alignment(subscreen_object *tempsso)
5238 {
5239 switch(tempsso->type)
5240 {
5241 case ssoTEXT:
5242 return tempsso->d2;
5243 break;
5244
5245 case ssoBSTIME:
5246 return sstaLEFT;
5247 break;
5248
5249 case ssoTIME:
5250 return sstaRIGHT;
5251 break;
5252
5253 case ssoSSTIME:
5254 return sstaRIGHT;
5255 break;
5256
5257 case ssoCOUNTER:
5258 return tempsso->d2;
5259 break;
5260
5261 case ssoMINIMAPTITLE:
5262 return tempsso->d2;
5263 break;
5264
5265 case ssoCURRENTITEMTEXT:
5266 case ssoCURRENTITEMNAME:
5267 case ssoSELECTEDITEMNAME:
5268 case ssoCURRENTITEMCLASSTEXT:
5269 case ssoCURRENTITEMCLASSNAME:
5270 case ssoSELECTEDITEMCLASSNAME:
5271 return sstaLEFT;
5272 break;
5273
5274 case ssoNONE:
5275 case sso2X2FRAME:
5276 case ssoLINE:
5277 case ssoRECT:
5278 case ssoMAGICMETER:
5279 case ssoLIFEMETER:
5280 case ssoBUTTONITEM:
5281 case ssoICON:
5282 case ssoCOUNTERS:
5283 case ssoMINIMAP:
5284 case ssoLARGEMAP:
5285 case ssoCLEAR:
5286 case ssoCURRENTITEM:
5287 case ssoITEM:
5288 case ssoTRIFRAME:
5289 case ssoTRIFORCE:
5290 case ssoTILEBLOCK:
5291 case ssoMINITILE:
5292 case ssoSELECTOR1:
5293 case ssoSELECTOR2:
5294 case ssoMAGICGAUGE:
5295 case ssoLIFEGAUGE:
5296 case ssoTEXTBOX:
5297 case ssoCURRENTITEMTILE:
5298 case ssoSELECTEDITEMTILE:
5299 default:
5300 return sstaLEFT;
5301 break;
5302 }
5303
5304 // return false;//UNREACHABLE
5305 }
5306
5307 //enum { sstsNORMAL, sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX, sstsMAX };
5308 // "None", "Shadow", "Shadow (U)","Shadow (O)", "Shadow (+)", "Shadow (X)", "Shadowed", "Shadowed (U)","Shadowed (O)","Shadowed (+)", "Shadowed (X)"
5309 //x-1
5310 //sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5311 //w+1
5312 //sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5313 //y-1
5314 //sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5315 //h+1
5316 //sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5317
5318 int32_t sso_y(subscreen_object *tempsso)
5319 {
5320 int32_t y=0;
5321
5322 switch(tempsso->type)
5323 {
5324 case ssoLIFEMETER:
5325 y=tempsso->y+(tempsso->d2?0:(tempsso->d3?8:16));
5326 break;
5327
5328 case ssoNONE:
5329 case sso2X2FRAME:
5330 case ssoTEXT:
5331 case ssoLINE:
5332 case ssoRECT:
5333 case ssoBSTIME:
5334 case ssoTIME:
5335 case ssoSSTIME:
5336 case ssoMAGICMETER:
5337 case ssoBUTTONITEM:
5338 case ssoICON:
5339 case ssoCOUNTER:
5340 case ssoCOUNTERS:
5341 case ssoMINIMAPTITLE:
5342 case ssoMINIMAP:
5343 case ssoLARGEMAP:
5344 case ssoCLEAR:
5345 case ssoCURRENTITEM:
5346 case ssoITEM:
5347 case ssoTRIFRAME:
5348 case ssoTRIFORCE:
5349 case ssoTILEBLOCK:
5350 case ssoMINITILE:
5351 case ssoSELECTOR1:
5352 case ssoSELECTOR2:
5353 case ssoMAGICGAUGE:
5354 case ssoLIFEGAUGE:
5355 case ssoTEXTBOX:
5356 case ssoCURRENTITEMTILE:
5357 case ssoSELECTEDITEMTILE:
5358 case ssoCURRENTITEMTEXT:
5359 case ssoCURRENTITEMNAME:
5360 case ssoSELECTEDITEMNAME:
5361 case ssoCURRENTITEMCLASSTEXT:
5362 case ssoCURRENTITEMCLASSNAME:
5363 case ssoSELECTEDITEMCLASSNAME:
5364 y=tempsso->y;
5365 break;
5366
5367 default:
5368 y=(zc_oldrand()*1000)%64;
5369 break;
5370 }
5371
5372 switch(tempsso->type)
5373 {
5374 case ssoTEXT:
5375 case ssoBSTIME:
5376 case ssoTIME:
5377 case ssoSSTIME:
5378 case ssoCOUNTER:
5379 case ssoCOUNTERS:
5380 switch(tempsso->d3)
5381 {
5382 case sstsOUTLINE8:
5383 case sstsOUTLINEPLUS:
5384 case sstsOUTLINEX:
5385 case sstsOUTLINED8:
5386 case sstsOUTLINEDPLUS:
5387 case sstsOUTLINEDX:
5388 y-=1;
5389 break;
5390 }
5391
5392 break;
5393 }
5394
5395 return y;
5396 }
5397
5398 int32_t sso_x(subscreen_object *tempsso)
5399 {
5400 int32_t x=0;
5401
5402 switch(tempsso->type)
5403 {
5404 case ssoMAGICMETER:
5405 x=tempsso->x-10;
5406 break;
5407
5408 case ssoNONE:
5409 case sso2X2FRAME:
5410 case ssoTEXT:
5411 case ssoLINE:
5412 case ssoRECT:
5413 case ssoBSTIME:
5414 case ssoTIME:
5415 case ssoSSTIME:
5416 case ssoLIFEMETER:
5417 case ssoBUTTONITEM:
5418 case ssoICON:
5419 case ssoCOUNTER:
5420 case ssoCOUNTERS:
5421 case ssoMINIMAPTITLE:
5422 case ssoMINIMAP:
5423 case ssoLARGEMAP:
5424 case ssoCLEAR:
5425 case ssoCURRENTITEM:
5426 case ssoITEM:
5427 case ssoTRIFRAME:
5428 case ssoTRIFORCE:
5429 case ssoTILEBLOCK:
5430 case ssoMINITILE:
5431 case ssoSELECTOR1:
5432 case ssoSELECTOR2:
5433 case ssoMAGICGAUGE:
5434 case ssoLIFEGAUGE:
5435 case ssoTEXTBOX:
5436 case ssoCURRENTITEMTILE:
5437 case ssoSELECTEDITEMTILE:
5438 case ssoCURRENTITEMTEXT:
5439 case ssoCURRENTITEMNAME:
5440 case ssoSELECTEDITEMNAME:
5441 case ssoCURRENTITEMCLASSTEXT:
5442 case ssoCURRENTITEMCLASSNAME:
5443 case ssoSELECTEDITEMCLASSNAME:
5444 x=tempsso->x;
5445 break;
5446
5447 default:
5448 x=(zc_oldrand()*1000)%64;
5449 break;
5450 }
5451
5452 switch(tempsso->type)
5453 {
5454 case ssoTEXT:
5455 case ssoBSTIME:
5456 case ssoTIME:
5457 case ssoSSTIME:
5458 case ssoCOUNTER:
5459 case ssoCOUNTERS:
5460 switch(tempsso->d3)
5461 {
5462 case sstsSHADOWU:
5463 case sstsOUTLINE8:
5464 case sstsOUTLINEPLUS:
5465 case sstsOUTLINEX:
5466 case sstsSHADOWEDU:
5467 case sstsOUTLINED8:
5468 case sstsOUTLINEDPLUS:
5469 case sstsOUTLINEDX:
5470 x-=1;
5471 break;
5472 }
5473
5474 break;
5475 }
5476
5477 return x;
5478 }
5479
5480
5481
5482 int32_t sso_h(subscreen_object *tempsso)
5483 {
5484 int32_t h=0;
5485
5486 switch(tempsso->type)
5487 {
5488 case ssoNONE:
5489 h=5;
5490 break;
5491
5492 case sso2X2FRAME:
5493 h=tempsso->h*8;
5494 break;
5495
5496 case ssoTEXT:
5497 h=text_height(ss_font(tempsso->d1));
5498 break;
5499
5500 case ssoLINE:
5501 h=tempsso->h;
5502 break;
5503
5504 case ssoRECT:
5505 h=tempsso->h;
5506 break;
5507
5508 case ssoBSTIME:
5509 h=text_height(ss_font(tempsso->d1));
5510 break;
5511
5512 case ssoTIME:
5513 h=text_height(ss_font(tempsso->d1));
5514 break;
5515
5516 case ssoSSTIME:
5517 h=text_height(ss_font(tempsso->d1));
5518 break;
5519
5520 case ssoMAGICMETER:
5521 h=8;
5522 break;
5523
5524 case ssoLIFEMETER:
5525 h=tempsso->d3?24:16;
5526 break;
5527
5528 case ssoBUTTONITEM:
5529 h=16;
5530 break;
5531
5532 case ssoICON:
5533 h=8;
5534 break;
5535
5536 case ssoCOUNTER:
5537 h=text_height(ss_font(tempsso->d1));
5538 break;
5539
5540 case ssoCOUNTERS:
5541 h=32;
5542 break;
5543
5544 case ssoMINIMAPTITLE:
5545 h=16;
5546 break;
5547
5548 case ssoMINIMAP:
5549 h=48;
5550 break;
5551
5552 case ssoLARGEMAP:
5553 h=80;
5554 break;
5555
5556 case ssoCLEAR:
5557 h=5;
5558 break;
5559
5560 case ssoCURRENTITEM:
5561 h=16;
5562 break;
5563
5564 case ssoITEM:
5565 h=16;
5566 break;
5567
5568 case ssoTRIFRAME:
5569 h=16*((tempsso->d7)?7:3);
5570 break;
5571
5572 case ssoTRIFORCE:
5573 h=16;
5574 break;
5575
5576 case ssoTILEBLOCK:
5577 h=16*(tempsso->h);
5578 break;
5579
5580 case ssoMINITILE:
5581 h=8;
5582 break;
5583
5584 case ssoSELECTOR1:
5585 case ssoSELECTOR2:
5586 h=tempsso->d5?32:16;
5587 break;
5588
5589 case ssoMAGICGAUGE:
5590 h=8;
5591 break;
5592
5593 case ssoLIFEGAUGE:
5594 h=8;
5595 break;
5596
5597 case ssoTEXTBOX:
5598 h=tempsso->h;
5599 break;
5600
5601 case ssoCURRENTITEMTILE:
5602 h=16;
5603 break;
5604
5605 case ssoSELECTEDITEMTILE:
5606 h=16;
5607 break;
5608
5609 case ssoCURRENTITEMTEXT:
5610 h=16;
5611 break;
5612
5613 case ssoCURRENTITEMNAME:
5614 h=tempsso->h;
5615 break;
5616
5617 case ssoSELECTEDITEMNAME:
5618 h=tempsso->h;
5619 break;
5620
5621 case ssoCURRENTITEMCLASSTEXT:
5622 h=tempsso->h;
5623 break;
5624
5625 case ssoCURRENTITEMCLASSNAME:
5626 h=tempsso->h;
5627 break;
5628
5629 case ssoSELECTEDITEMCLASSNAME:
5630 h=tempsso->h;
5631 break;
5632
5633 default:
5634 h=(zc_oldrand()*1000)%64;
5635 break;
5636 }
5637
5638 switch(tempsso->type)
5639 {
5640 case ssoTEXT:
5641 case ssoBSTIME:
5642 case ssoTIME:
5643 case ssoSSTIME:
5644 case ssoCOUNTER:
5645 case ssoCOUNTERS:
5646 switch(tempsso->d3)
5647 {
5648 case sstsSHADOW:
5649 case sstsSHADOWU:
5650 case sstsOUTLINE8:
5651 case sstsOUTLINEPLUS:
5652 case sstsOUTLINEX:
5653 case sstsSHADOWED:
5654 case sstsSHADOWEDU:
5655 case sstsOUTLINED8:
5656 case sstsOUTLINEDPLUS:
5657 case sstsOUTLINEDX:
5658 h+=1;
5659 break;
5660 }
5661
5662 break;
5663 }
5664
5665 return h;
5666 }
5667
5668 int32_t sso_w(subscreen_object *tempsso)
5669 {
5670 int32_t w=0;
5671
5672 switch(tempsso->type)
5673 {
5674 case ssoNONE:
5675 w=5;
5676 break;
5677
5678 case sso2X2FRAME:
5679 w=tempsso->w*8;
5680 break;
5681
5682 case ssoTEXT:
5683 w=text_length(ss_font(tempsso->d1), (char *)tempsso->dp1);
5684 break;
5685
5686 case ssoLINE:
5687 w=tempsso->w;
5688 break;
5689
5690 case ssoRECT:
5691 w=tempsso->w;
5692 break;
5693
5694 case ssoBSTIME:
5695 w=text_length(ss_font(tempsso->d1), time_str_short2(game->get_time()));
5696 break;
5697
5698 case ssoTIME:
5699 w=text_length(ss_font(tempsso->d1), time_str_med(game->get_time()));
5700 break;
5701
5702 case ssoSSTIME:
5703 w=text_length(ss_font(tempsso->d1), time_str_med(game->get_time()));
5704 break;
5705
5706 case ssoMAGICMETER:
5707 w=82;
5708 break;
5709
5710 case ssoLIFEMETER:
5711 w=64;
5712 break;
5713
5714 case ssoBUTTONITEM:
5715 w=16;
5716 break;
5717
5718 case ssoICON:
5719 w=8;
5720 break;
5721
5722 case ssoCOUNTER:
5723 w=text_length(ss_font(tempsso->d1), "0")*tempsso->d4;
5724 break;
5725
5726 case ssoCOUNTERS:
5727 w=32;
5728 break;
5729
5730 case ssoMINIMAPTITLE:
5731 w=80;
5732 break;
5733
5734 case ssoMINIMAP:
5735 w=80;
5736 break;
5737
5738 case ssoLARGEMAP:
5739 w=16*((tempsso->d4)?9:7);
5740 break;
5741
5742 case ssoCLEAR:
5743 w=5;
5744 break;
5745
5746 case ssoCURRENTITEM:
5747 w=16;
5748 break;
5749
5750 case ssoITEM:
5751 w=16;
5752 break;
5753
5754 case ssoTRIFRAME:
5755 w=16*((tempsso->d7)?7:6);
5756 break;
5757
5758 case ssoTRIFORCE:
5759 w=16;
5760 break;
5761
5762 case ssoTILEBLOCK:
5763 w=16*(tempsso->w);
5764 break;
5765
5766 case ssoMINITILE:
5767 w=8;
5768 break;
5769
5770 case ssoSELECTOR1:
5771 case ssoSELECTOR2:
5772 w=tempsso->d5?32:16;
5773 break;
5774
5775 case ssoMAGICGAUGE:
5776 w=8;
5777 break;
5778
5779 case ssoLIFEGAUGE:
5780 w=8;
5781 break;
5782
5783 case ssoTEXTBOX:
5784 w=tempsso->w;
5785 break;
5786
5787 case ssoCURRENTITEMTILE:
5788 w=16;
5789 break;
5790
5791 case ssoSELECTEDITEMTILE:
5792 w=16;
5793 break;
5794
5795 case ssoCURRENTITEMTEXT:
5796 w=16;
5797 break;
5798
5799 case ssoCURRENTITEMNAME:
5800 w=tempsso->w;
5801 break;
5802
5803 case ssoSELECTEDITEMNAME:
5804 w=tempsso->w;
5805 break;
5806
5807 case ssoCURRENTITEMCLASSTEXT:
5808 w=tempsso->w;
5809 break;
5810
5811 case ssoCURRENTITEMCLASSNAME:
5812 w=tempsso->w;
5813 break;
5814
5815 case ssoSELECTEDITEMCLASSNAME:
5816 w=tempsso->w;
5817 break;
5818
5819 default:
5820 w=(zc_oldrand()*1000)%64;
5821 break;
5822 }
5823
5824 switch(tempsso->type)
5825 {
5826 case ssoTEXT:
5827 case ssoBSTIME:
5828 case ssoTIME:
5829 case ssoSSTIME:
5830 case ssoCOUNTER:
5831 case ssoCOUNTERS:
5832 switch(tempsso->d3)
5833 {
5834 case sstsSHADOW:
5835 case sstsSHADOWU:
5836 case sstsOUTLINE8:
5837 case sstsOUTLINEPLUS:
5838 case sstsOUTLINEX:
5839 case sstsSHADOWED:
5840 case sstsSHADOWEDU:
5841 case sstsOUTLINED8:
5842 case sstsOUTLINEDPLUS:
5843 case sstsOUTLINEDX:
5844 w+=1;
5845 break;
5846 }
5847
5848 break;
5849 }
5850
5851 return w;
5852 }
5853
5854 void sso_bounding_box(BITMAP *bmp, subscreen_group *tempss, int32_t index, int32_t color)
5855 {
5856 if(index<0)
5857 {
5858 return;
5859 }
5860
5861 int32_t x=sso_x(&tempss->objects[index]);
5862 int32_t y=sso_y(&tempss->objects[index]);
5863 int32_t w=sso_w(&tempss->objects[index]);
5864 int32_t h=sso_h(&tempss->objects[index]);
5865
5866 switch(get_alignment(&tempss->objects[index]))
5867 {
5868 case sstaCENTER:
5869 x-=(w/2);
5870 break;
5871
5872 case sstaRIGHT:
5873 x-=w;
5874 break;
5875
5876 case sstaLEFT:
5877 default:
5878 break;
5879 }
5880
5881 int32_t c=x+w/2;
5882 int32_t m=y+h/2;
5883 bool normalrect=true;
5884
5885 if(color==-1)
5886 {
5887 color=jwin_pal[jcTITLER];
5888 }
5889 else if(color==-2)
5890 {
5891 color=jwin_pal[jcTITLEL];
5892 }
5893
5894 //draw a bounding box around the current object
5895 if(normalrect)
5896 {
5897 rect(bmp, x, y, x+w-1, y+h-1, color);
5898 }
5899 else
5900 {
5901 rect(bmp, x-1, y-1, x+1, y+1, color);
5902 rect(bmp, x-1, y+h-2, x+1, y+h, color);
5903 rect(bmp, x+w-2, y-1, x+w, y+1, color);
5904 rect(bmp, x+w-2, y+h-2, x+w, y+h, color);
5905
5906 if(w>=9)
5907 {
5908 rect(bmp, c-1, y-1, c+1, y+1, color);
5909 rect(bmp, c-1, y+h-2, c+1, y+h, color);
5910 _allegro_hline(bmp, x+2, y, c-2, color);
5911 _allegro_hline(bmp, c+2, y, x+w-3, color);
5912 _allegro_hline(bmp, x+2, y+h-1, c-2, color);
5913 _allegro_hline(bmp, c+2, y+h-1, x+w-3, color);
5914 }
5915 else
5916 {
5917 _allegro_hline(bmp, x+2, y, x+w-3, color);
5918 _allegro_hline(bmp, x+2, y+h-1, x+w-3, color);
5919 }
5920
5921 if(h>=9)
5922 {
5923 rect(bmp, x-1, m-1, x+1, m+1, color);
5924 rect(bmp, x+w-2, m-1, x+w, m+1, color);
5925 _allegro_vline(bmp, x, y+2, m-2, color);
5926 _allegro_vline(bmp, x, m+2, y+h-3, color);
5927 _allegro_vline(bmp, x+w-1, y+2, m-2, color);
5928 _allegro_vline(bmp, x+w-1, m+2, y+h-3, color);
5929 }
5930 else
5931 {
5932 _allegro_vline(bmp, x, y+2, y+h-3, color);
5933 _allegro_vline(bmp, x+w-1, y+2, y+h-3, color);
5934 }
5935 }
5936 }
5937
5938
5939 10003597 int32_t scounter_to_ctr(int32_t ssc)
5940 {
5941
4/33
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✓ Branch 2 taken 6040548 times.
✓ Branch 3 taken 1930087 times.
✓ Branch 4 taken 1038093 times.
✓ Branch 5 taken 994869 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✗ Branch 30 not taken.
✗ Branch 31 not taken.
✗ Branch 32 not taken.
10003597 switch(ssc)
5942 {
5943 6040548 case sscRUPEES: return crMONEY;
5944 1930087 case sscBOMBS: return crBOMBS;
5945 1038093 case sscSBOMBS: return crSBOMBS;
5946 994869 case sscARROWS: return crARROWS;
5947 case sscSCRIPT1: return crCUSTOM1;
5948 case sscSCRIPT2: return crCUSTOM2;
5949 case sscSCRIPT3: return crCUSTOM3;
5950 case sscSCRIPT4: return crCUSTOM4;
5951 case sscSCRIPT5: return crCUSTOM5;
5952 case sscSCRIPT6: return crCUSTOM6;
5953 case sscSCRIPT7: return crCUSTOM7;
5954 case sscSCRIPT8: return crCUSTOM8;
5955 case sscSCRIPT9: return crCUSTOM9;
5956 case sscSCRIPT10: return crCUSTOM10;
5957 case sscSCRIPT11: return crCUSTOM11;
5958 case sscSCRIPT12: return crCUSTOM12;
5959 case sscSCRIPT13: return crCUSTOM13;
5960 case sscSCRIPT14: return crCUSTOM14;
5961 case sscSCRIPT15: return crCUSTOM15;
5962 case sscSCRIPT16: return crCUSTOM16;
5963 case sscSCRIPT17: return crCUSTOM17;
5964 case sscSCRIPT18: return crCUSTOM18;
5965 case sscSCRIPT19: return crCUSTOM19;
5966 case sscSCRIPT20: return crCUSTOM20;
5967 case sscSCRIPT21: return crCUSTOM21;
5968 case sscSCRIPT22: return crCUSTOM22;
5969 case sscSCRIPT23: return crCUSTOM23;
5970 case sscSCRIPT24: return crCUSTOM24;
5971 case sscSCRIPT25: return crCUSTOM25;
5972 case sscLIFE: return crLIFE;
5973 case sscMAGIC: return crMAGIC;
5974 case sscGENKEYMAGIC: case sscGENKEYNOMAGIC:
5975 case sscANYKEYMAGIC: case sscANYKEYNOMAGIC:
5976 return crKEYS;
5977 }
5978 return crNONE;
5979 10003597 }
5980
5981 /*** end of subscr.cc ***/
5982
5983